airflow.timetables.events¶
Module Contents¶
Classes¶
| Timetable that schedules DAG runs at specific listed datetimes. | 
- class airflow.timetables.events.EventsTimetable(event_dates, restrict_to_events=False, presorted=False, description=None)[source]¶
- Bases: - airflow.timetables.base.Timetable- Timetable that schedules DAG runs at specific listed datetimes. - Suitable for predictable but truly irregular scheduling such as sporting events. - Parameters
- event_dates (Iterable[pendulum.DateTime]) – List of datetimes for the DAG to run at. Duplicates will be ignored. Must be finite and of reasonable size as it will be loaded in its entirety. 
- restrict_to_events (bool) – Whether manual runs should use the most recent event or the current time 
- presorted (bool) – if True, event_dates will be assumed to be in ascending order. Provides modest performance improvement for larger lists of event_dates. 
- description (str | None) – A name for the timetable to display in the UI. Default None will be shown as “X Events” where X is the len of event_dates 
 
 - 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
 
 - 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_afterwould be when the user triggers the run. The default implementation raises- NotImplementedError.
 - 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 - deserializewhen the DAG is deserialized. The default implementation returns an empty dict.
 
