As of airflow 2.3, we have two mutually-exclusive scheduling params,
`schedule_interval` and `timetable`.  As it stands now, AIP-48 will be
adding a *third* such param, `schedule_on`.

I think it would probably be best to consolidate these into one single
scheduling param.  What do you think?  What should we call it?

One approach is, let's add a new param (which AIP-48 does right now), such
as `schedule_on` or `schedule` and make that the one true scheduling param,
and deprecate the old ones, schedule_interval and timetable.  And the
argument for this is, schedule *interval* and *timetable *both are named
with a specific type of scheduling in mind.  But `schedule` or
`schedule_on` are generic and could tolerate either of the other two, as
well as new event-based scheduling rules.

Another approach is, let's just make `schedule_interval` take all types of
scheduling rules, deprecate `timetable` as a dag param and be done with
it.  This has the benefit that users won't need to migrate their code to a
new param.  The only problem is it has that pesky association with
`interval` which may nag at some of us, since it can handle much more than
an interval (as well as potentially confuse or mislead newcomers).

So, that's the discussion item.  And since I went through the trouble of
writing this up, I'll share my own personal opinion which is, I think it's
probably best to add a new param, probably `schedule`, and deprecate the
old ones.  I think given that the meaning has changed, the name should
change, and in any case we certainly shouldn't tolerate 3 scheduling params.

What do y'all think?

Thanks

Reply via email to