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