airflow.example_dags.plugins.workday

Plugin to demonstrate timetable registration and accommodate example DAGs.

Module Contents

Classes

AfterWorkdayTimetable

Protocol that all Timetable classes are expected to implement.

WorkdayTimetablePlugin

Class used to define AirflowPlugin.

Attributes

log

holiday_calendar

airflow.example_dags.plugins.workday.log[source]
airflow.example_dags.plugins.workday.holiday_calendar[source]
class airflow.example_dags.plugins.workday.AfterWorkdayTimetable[source]

Bases: airflow.timetables.base.Timetable

Protocol that all Timetable classes are expected to implement.

get_next_workday(d, incr=1)[source]
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 raises NotImplementedError.

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 (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

DagRunInfo | None

class airflow.example_dags.plugins.workday.WorkdayTimetablePlugin[source]

Bases: airflow.plugins_manager.AirflowPlugin

Class used to define AirflowPlugin.

name = 'workday_timetable_plugin'[source]
timetables[source]

Was this entry helpful?