Pratap
02/24/2025, 11:23 PMMarvin
02/24/2025, 11:23 PMdateutil
library to manage these recurrence rules, which provides flexibility in defining schedules with complex logic like the last weekday of each month or every other day of the week. Read more about scheduling in Prefect 3.x.
Regarding high availability (HA) for scheduling, Prefect's approach involves prioritization within work queues to ensure that critical tasks are submitted and executed before less critical ones. This is achieved through priority settings for different queues, allowing Prefect to manage and execute tasks based on defined priority levels. While this helps in managing task execution order, it doesn't inherently provide HA for the scheduler itself.
An issue was noted in Prefect's GitHub repository regarding the behavior when the scheduler becomes unavailable. Specifically, if the scheduler is unavailable for 10 seconds, scheduled flows terminate, which is not ideal for high availability. The expected behavior would be for the flow to wait for the scheduler to return and resume at the earliest opportunity. See the related GitHub issue.
In summary, Prefect uses RRules for scheduling and manages task execution priorities to handle workloads effectively. However, achieving true scheduler HA might require additional configurations or considerations beyond the built-in prioritization and scheduling logic.Pratap
02/24/2025, 11:24 PMNate
02/25/2025, 4:34 AMPratap
02/25/2025, 11:13 PMNate
02/25/2025, 11:24 PMPratap
02/27/2025, 9:39 PMNate
02/27/2025, 10:08 PM