airflow.timetables.datasets
¶
Module Contents¶
Classes¶
Combine time-based scheduling with event-based scheduling. |
- class airflow.timetables.datasets.DatasetOrTimeSchedule(*, timetable, datasets)[source]¶
Bases:
airflow.timetables.simple.DatasetTriggeredTimetable
Combine time-based scheduling with event-based scheduling.
- 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.
- classmethod deserialize(data)[source]¶
Deserialize a timetable from data.
This is called when a serialized DAG is deserialized.
data
will be whatever was returned byserialize
during DAG serialization. The default implementation constructs the timetable without any arguments.
- serialize()[source]¶
Serialize the timetable for JSON encoding.
This is called during DAG serialization to store timetable information in the database. This should return a JSON-serializable dict that will be fed into
deserialize
when the DAG is deserialized. The default implementation returns an empty dict.
- validate()[source]¶
Validate the timetable is correctly specified.
Override this method to provide run-time validation raised when a DAG is put into a dagbag. The default implementation does nothing.
- Raises
AirflowTimetableInvalid on validation failure.
- infer_manual_data_interval(*, run_after)[source]¶
When a DAG run is manually triggered, infer a data interval for it.
This is used for e.g. manually-triggered runs, where
run_after
would be when the user triggers the run. The default implementation raisesNotImplementedError
.
- 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