Description
Prefect currently supports two schedule classes that are probably not useful: DateSchedule
(a list of datetimes) and NoSchedule
(no schedule at all).
In Prefect's original design, schedules were created when the flow was created and was therefore impossible to change, so it was desirable to have
- a uniform interface for accessing the schedule's information, even if there wasn't a schedule
- a way to specify that the flow should run on a few (off-schedule) dates
Now, with @dylanbhughes's great observation that schedules should/can be modified after the flow is created, we may do schedule examination and validation at any time. NoSchedule
can simply be replaced by None
and DatesSchedule
can be replaced by using Prefect's API to simply schedule flow runs by hand on the appropriate dates.
Therefore, the only built-in schedule classes should handle ongoing, regular schedules. Currently we have CronSchedule
and IntervalSchedule
and I can imagine more complex versions (like BusinessDaySchedule
).
Activity