airflow.timetables.simple
Classes
Timetable that never schedules anything. |
|
Timetable that schedules the execution once as soon as possible. |
|
Timetable that schedules continually, while still respecting start_date and end_date. |
Module Contents
- class airflow.timetables.simple.NullTimetable[source]
Bases:
_TrivialTimetableTimetable that never schedules anything.
This corresponds to
schedule=None.- can_be_scheduled = False[source]
Whether this timetable can actually schedule runs in an automated manner.
This defaults to and should generally be True (including non periodic execution types like @once and data triggered tables), but
NullTimetablesets this to False.
- description: str = 'Never, external triggers only'[source]
Human-readable description of the timetable.
For example, this can produce something like
'At 21:30, only on Friday'from the cron expression'30 21 * * 5'. This is used in the webserver UI.
- property summary: str[source]
A short summary for the timetable.
This is used to display the timetable in the web UI. A cron expression timetable, for example, can use this to display the expression. The default implementation returns the timetable’s type name.
- next_dagrun_info(*, last_automated_data_interval, restriction)[source]
Provide information to schedule the next DagRun.
The default implementation raises
NotImplementedError.- Parameters:
last_automated_data_interval (airflow.timetables.base.DataInterval | None) – The data interval of the associated DAG’s last scheduled or backfilled run (manual runs not considered).
restriction (airflow.timetables.base.TimeRestriction) – Restriction to apply when scheduling the DAG run. See documentation of
TimeRestrictionfor details.
- Returns:
Information on when the next DagRun can be scheduled. None means a DagRun will not happen. This does not mean no more runs will be scheduled even again for this DAG; the timetable can return a DagRunInfo object when asked at another time.
- Return type:
- class airflow.timetables.simple.OnceTimetable[source]
Bases:
_TrivialTimetableTimetable that schedules the execution once as soon as possible.
This corresponds to
schedule="@once".- description: str = 'Once, as soon as possible'[source]
Human-readable description of the timetable.
For example, this can produce something like
'At 21:30, only on Friday'from the cron expression'30 21 * * 5'. This is used in the webserver UI.
- property summary: str[source]
A short summary for the timetable.
This is used to display the timetable in the web UI. A cron expression timetable, for example, can use this to display the expression. The default implementation returns the timetable’s type name.
- next_dagrun_info(*, last_automated_data_interval, restriction)[source]
Provide information to schedule the next DagRun.
The default implementation raises
NotImplementedError.- Parameters:
last_automated_data_interval (airflow.timetables.base.DataInterval | None) – The data interval of the associated DAG’s last scheduled or backfilled run (manual runs not considered).
restriction (airflow.timetables.base.TimeRestriction) – Restriction to apply when scheduling the DAG run. See documentation of
TimeRestrictionfor details.
- Returns:
Information on when the next DagRun can be scheduled. None means a DagRun will not happen. This does not mean no more runs will be scheduled even again for this DAG; the timetable can return a DagRunInfo object when asked at another time.
- Return type:
- class airflow.timetables.simple.ContinuousTimetable[source]
Bases:
_TrivialTimetableTimetable that schedules continually, while still respecting start_date and end_date.
This corresponds to
schedule="@continuous".- description: str = 'As frequently as possible, but only one run at a time.'[source]
Human-readable description of the timetable.
For example, this can produce something like
'At 21:30, only on Friday'from the cron expression'30 21 * * 5'. This is used in the webserver UI.
- active_runs_limit = 1[source]
Maximum active runs that can be active at one time for a DAG.
This is called during DAG initialization, and the return value is used as the DAG’s default
max_active_runs. This should generally return None, but there are good reasons to limit DAG run parallelism in some cases, such as forContinuousTimetable.
- property summary: str[source]
A short summary for the timetable.
This is used to display the timetable in the web UI. A cron expression timetable, for example, can use this to display the expression. The default implementation returns the timetable’s type name.
- next_dagrun_info(*, last_automated_data_interval, restriction)[source]
Provide information to schedule the next DagRun.
The default implementation raises
NotImplementedError.- Parameters:
last_automated_data_interval (airflow.timetables.base.DataInterval | None) – The data interval of the associated DAG’s last scheduled or backfilled run (manual runs not considered).
restriction (airflow.timetables.base.TimeRestriction) – Restriction to apply when scheduling the DAG run. See documentation of
TimeRestrictionfor details.
- Returns:
Information on when the next DagRun can be scheduled. None means a DagRun will not happen. This does not mean no more runs will be scheduled even again for this DAG; the timetable can return a DagRunInfo object when asked at another time.
- Return type: