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:
_TrivialTimetable
Timetable 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
NullTimetable
sets 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
TimeRestriction
for 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:
_TrivialTimetable
Timetable 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
TimeRestriction
for 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:
_TrivialTimetable
Timetable 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
TimeRestriction
for 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: