Chạy theo lịch
Cấu hình bốn loại lịch CRON / INTERVAL / ONE_TIME / DELAYED_COMPLETION, xử lý múi giờ và kích hoạt chuỗi workflow.
Bộ lập lịch của Braidrun hỗ trợ bốn loại kích hoạt: CRON (biểu thức chu kỳ), INTERVAL (khoảng cố định), ONE_TIME (một lần), DELAYED_COMPLETION (kích hoạt chuỗi workflow). Tất cả schedule được dịch vụ lập lịch của nền tảng quản lý tập trung và sẽ tiếp tục kích hoạt theo lịch riêng sau khi dịch vụ khởi động lại.
Khái niệm: tiến độ và thực hiện
Một thời gian biểu mô tả "khi nào cần kích hoạt," mỗi cò súng tạo ra một thực hiện. Lịch trình là một vật thể sống lâu, trong khi một cuộc hành hình chỉ là một kỷ lục duy nhất. Một lịch có thể chứa một tập nhập tĩnh ( cặp giá trị phím) dùng làm biến số nhập vào của thực hiện trên mỗi bộ gây nên.
Mỗi chương trình lưu trữ múi giờ riêng (một tên IA như châu Á/ Sanghai), và máy chủ tính toán thời gian gây ra nó. Đang tạo thông qua mặc định UI trên web tới vùng thời gian hiện tại của tài khoản của bạn; khi tạo thông qua hệ thống ADI, luôn luôn đi qua vùng thời gian một cách rõ ràng.
Tên
| Kiểu | Trường khóa | Cư xử |
|---|---|---|
CRON | cronExpression, timezone | Lửa lặp đi lặp lại bởi một biểu hiện 5 mặt, xuống đến hạt dẻ |
INTERVAL | interval, startTime, endTime | Bắn mỗi số phần nghìn giây cố định, với sự khởi động và kết thúc lần |
ONE_TIME | startTime | Bắn một lần vào thời điểm ấn định, rồi tự động bỏ đi |
DELAYED_COMPLETION | triggerWorkflowId, delaySeconds | Lửa N giây sau khi workflow hoàn thành thành công, cho chuỗi công việc |
Bốn loại có chung một tập hợp trường: đã bật (nếu hoạt động), tối đa chạy (số đếm kích hoạt) và đầu vào (các biến đầu vào tĩnh). Khi thời gian kết thúc đã qua hoặc số đếm kích hoạt đạt tối đa run, thời gian biểu đã được tự động bỏ đi nhưng chưa xóa.
Tạo một lịch CRON
curl -X POST https://braidrun.com/api/schedules \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"workflowId": "<workflow-id>",
"name": "Daily 9 AM report",
"scheduleType": "CRON",
"cronExpression": "0 9 * * *",
"timezone": "Asia/Shanghai",
"inputs": {
"environment": "production"
}
}'Biểu thức cron là 5-field: giờ phút mỗi ngày mỗi tháng. Nó hỗ trợ *, danh sách (1,3), phạm vi (1-5), và bước (*/ 6); Chủ nhật có thể được viết là 0 hoặc 7. Kích hoạt thời gian được tính toán chống lại múi giờ riêng của mình.
| biểu thức | nghĩa là |
|---|---|
0 9 * * * | 09:00 hàng ngày |
0 9 * * 1-5 | Các ngày trong tuần 09:00 |
0 */6 * * * | cứ sau 6 giờ |
30 14 1 * * | 14h30 ngày 1 hàng tháng |
Trong việc triển khai nhiều trường hợp, một ổ khóa phân phối phức tạp mỗi điểm kích hoạt: chỉ có một nút thực sự bắt đầu thực hiện, do đó, thêm nút không gây ra sự nhân đôi kích hoạt.
Phẩm: khoảng cố định
Cơ thể yêu cầu đi PST / api/schedules giống như CRON, chỉ có các lĩnh vực khác nhau:
{
"workflowId": "<workflow-id>",
"name": "每 5 分钟同步一次",
"scheduleType": "INTERVAL",
"interval": 300000,
"startTime": 1785542400000,
"endTime": 1788220800000,
"maxRuns": 500
}interval— Khoảng kích hoạt trong mili giây; giá trị dưới 1 giây được nâng lên 1 giâystartTime/endTime— Tùy chọn, một nhãn thời gian thời gian thời gian thời gian thời gian thời gian thời hạn; nếu bắt đầu Thời gian được đặt, nó chờ đợi cho đến thời điểm đó trước khi bắt đầu, và nó tự động không thể bỏ qua một khi kết thúc Time đã quamaxRuns— Tùy chọn; các khả năng tự động sau khi bắn điều này nhiều lần
1 - 3
{
"workflowId": "<workflow-id>",
"name": "上线前补跑一次",
"scheduleType": "ONE_TIME",
"startTime": 1785546000000
}thời gian bắt đầu là dấu chấm phẩy thời gian. Sau khi bắn một lần tại thời điểm đó, thời gian biểu tự động-thing; trong một triển khai đa chiều, một khóa một lần đảm bảo nó bắn chỉ một lần.
Kế Hoạch bị xích (DELAY COMEG)
Chuỗi cung cấp hai luồng công việc: mỗi lần lên workflow kết thúc với trạng thái hoàn chỉnh, nó chờ đợi sự chậm trễSecond giây và sau đó tự động kích hoạt lưu B ràng buộc với thời gian biểu này. Dùng tiêu biểu: tự động chạy luồng báo cáo công việc 10 phút sau khi dữ liệu hoàn tất.
{
"workflowId": "<workflow-B-id>",
"name": "A 完成 10 分钟后跑 B",
"scheduleType": "DELAYED_COMPLETION",
"triggerWorkflowId": "<workflow-A-id>",
"delaySeconds": 600,
"maxRuns": 10
}- Nó tính dù A được kích hoạt bằng tay, bởi Webok, theo lịch trình, hoặc bằng chuỗi — miễn là nó hoàn thành thành thành công; thất bại hoặc bị hủy bỏ thực hiện không gây ra dòng chảy
delaySeconds— Yêu cầu, 0 đến 30 ngày (2592000 giây); 0 có nghĩa là kích hoạt ngay khi hoàn tấtmaxRuns— Omit cho vô hạn; 1 chuỗi chỉ một lần; N xích tại hầu hết thời gian N, sau đó tự động-dibletriggerWorkflowId— Nó không thể bình đẳng với việc làm chảy (tự đào bới sẽ lặp lại mãi mãi), và người sáng tạo cần xem sự cho phép trên workflow trên workflow- Đã cập nhật
Quản lý lịch
| Điểm kết thúc | Mục đích |
|---|---|
GET /api/schedules | Tên |
GET /api/schedules/{id} | Xem một cái |
PUT /api/schedules/{id} | Cập nhật; các trường cũng giống như tạo ra, và thay đổi các loại realidates chống lại loại mới |
DELETE /api/schedules/{id} | Xoá |
POST /api/schedules/{id}/toggle | Bật/ tắt |
POST /api/schedules/{id}/run | Chạy ngay lập tức, bỏ qua lịch trình |
GET /api/schedules/{id}/history | Kích hoạt lịch sử |
GET /api/schedules/workflows/{workflowId} | Tên |
# 立即执行一次(返回这次 execution)
curl -X POST https://braidrun.com/api/schedules/<schedule-id>/run \
-H "Authorization: Bearer <token>"
# 停用(enabled=true 则启用;不带参数则在两者间切换)
curl -X POST "https://braidrun.com/api/schedules/<schedule-id>/toggle?enabled=false" \
-H "Authorization: Bearer <token>"
# 最近 50 条触发历史
curl "https://braidrun.com/api/schedules/<schedule-id>/history?limit=50" \
-H "Authorization: Bearer <token>"bật bật bật bật bật bật bật bật/tắt tham số truy vấn hoặc cơ thể JSON; nếu cả hai đều không được thông qua, nó lật giữa được bật và bị tắt. Mỗi hồ sơ lịch sử bao gồm trạng thái, cờ thành công, và bắt đầu và kết thúc lần; giới hạn mặc định là 50, 500.
Đầu vào được chia sẻ và cài đặt trước tham số
Bên cạnh việc thiết lập đầu vào trực tiếp trên một lịch trình, bạn có thể tạo các " tiền lập đo lường" cho workflow: chạy cùng một luồng công việc với các định sẵn khác nhau cho cấu hình khác nhau.
# 创建一个参数预设
curl -X POST https://braidrun.com/api/workflows/<wf>/presets \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"name": "生产环境",
"description": "生产环境参数",
"variables": {
"environment": "production",
"debug_mode": "false",
"max_retries": "3"
}
}'
# 用预设触发执行
curl -X POST https://braidrun.com/api/workflows/<wf>/presets/<id>/execute \
-H "Authorization: Bearer <token>"Đồng thời nhiều luồng công việc
Chọn nhiều mục trong danh sách workflow rồi bấm "Chạy song song" sẽ khởi động một loạt execution cùng lúc.
- Mỗi quy trình làm việc được chọn sẽ tạo bản ghi thực thi riêng
- Việc thực thi vượt quá maxConcurrency trước tiên sẽ chuyển sang Đang chờ xử lý
- Sau khi quá trình thực thi đang chạy trước đó hoàn tất, quá trình tiếp theo trong hàng đợi sẽ tự động được chuyển thành RUNNING
0Cho biết không có giới hạn và bắt đầu toàn bộ lô cùng một lúc
Đồng thời ở cấp cao nhất của Quy trình làm việc kiểm soát đồng thời cùng lớp trong DAG nội bộ của một workflow; cả hai không can thiệp lẫn nhau.
Hành vi sau khi khởi động lại dịch vụ
- Thực thi được kích hoạt: Mặc định là BỊ GIÁN ĐOẠN trừ khi tính năng tiếp tục tự động được bật (xemKhởi động lại và tiếp tục tự động)
- CRON / INTERVAL / ONE_TIME chưa đến thời điểm: sau khi khởi động lại vẫn kích hoạt bình thường
- Đã cập nhật
- Điểm kích hoạt bị bỏ lỡ trong thời gian ngừng hoạt động: không trang điểm (để tránh nguy cơ viết hai lần)