2016-05-18 31 views
6

Tôi có một DAG đã hoạt động hàng ngày lúc 3:00, nó chạy OK trong vài tuần qua.Luồng không khí: thay đổi thời gian crontab cho một DAG trong luồng không khí

Tôi đã cập nhật ngày chạy lúc 7:00, nhưng dường như trong 2 ngày qua nó không chạy. Tôi có thể thấy các nhiệm vụ trong hai ngày đó với trạng thái 'đang chạy' (màu xanh lục), nhưng không có lệnh nào được kích hoạt.

Có cần phải làm gì khác để thay đổi thời gian chạy của DAG không?

Tôi biết rằng trong quá khứ một cách để giải quyết vấn đề này là làm sạch trong cơ sở dữ liệu meta các nhiệm vụ cho DAG này và cập nhật start_date, nhưng tôi muốn tránh làm điều này một lần nữa.

Có ai có đề xuất không?

Trả lời

5

David,

Để sắp xếp một dag Airflow chỉ trông cho người cuối cùng execution date và tổng hợp các schedule interval. Nếu thời gian này đã hết hạn, nó sẽ chạy dag. Bạn không thể cập nhật đơn giản ngày bắt đầu. Cách đơn giản để thực hiện việc này là chỉnh sửa start dateschedule interval, đổi tên dag của bạn (ví dụ: xxxx_v2.py) và triển khai lại.

+0

Khởi động lại trình lên lịch sẽ không giải quyết được sự cố? –

+0

Có cuộc thảo luận lớn hơn về sự cần thiết phải đổi tên các DAG để phản ánh siêu dữ liệu cập nhật không? Nếu có, ai đó có thể liên kết với nó không? – harveyxia

+0

Tôi không thể tìm thấy cuộc thảo luận nhưng nó được đề cập trong những cạm bẫy https://cwiki.apache.org/confluence/display/AIRFLOW/Common+Pitfalls – liferacer

2

Giải pháp thay thế để đổi tên DAG là chỉnh sửa execution_date của tất cả các phiên bản tác vụ trước và DAG của DAG trong cơ sở dữ liệu. Các bảng thay đổi lần lượt là task_instancedag_run.

Một trong những nhược điểm của phương pháp này là bạn sẽ mất khả năng duyệt nhật ký các tác vụ đã hoàn thành thông qua máy chủ web.

Các vấn đề liên quan