Airflow Summit 2026 is coming August 31 - September 2 in Austin, TX. Register now to secure your spot!

airflow.example_dags.plugins.workday

Plugin to demonstrate timetable registration and accommodate example DAGs.

Attributes

log

Classes

AfterWorkdayTimetable

Protocol that all Timetable classes are expected to implement.

WorkdayTimetablePlugin

Class used to define AirflowPlugin.

Module Contents

airflow.example_dags.plugins.workday.log[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 (airflow.timetables.base.DataInterval | None) – The data interval of the associated DAG’s last scheduled or backfilled run (manual runs not considered). This is only None when the Dag is being scheduled for the first time, which happens when the Dag processor first parses the Dag – before any Dag run exists.

  • 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:

airflow.timetables.base.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?