Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AIP-39: Handle DAG scheduling with timetables #15397

Merged
merged 1 commit into from Jun 29, 2021

Commits on Jun 28, 2021

  1. Implement timetable class for AIP-39

    This creates a new subpackage airflow.timetables, and implements
    timetable constructs that provides DAG scheduling logic. The timetable
    classes are used to refactor schedule inference logic out of the DAG
    class, and existing functions related to scheduling are refactored to
    use timetables (and deprecated).
    
    Usages of the deprecated DAG functions in Airflow's code base are
    modified to either use the timetable, or infer the information by other
    means. For example, usages of previous_schedule() (what was a DAG last
    scheduled to run before this run?) are refactored to query the database
    when the previous scheduled run actually happened, instead of using the
    schedule interval (cron or timedelta) in infer the information. This is
    because an AIP-39 timetable does not necessarily run on a periodic-ish
    schedule, and we cannot reliably infer when the previous run happened.
    uranusjr committed Jun 28, 2021
    Configuration menu
    Copy the full SHA
    f5b55ee View commit details
    Browse the repository at this point in the history