:py:mod:`airflow.timetables.simple`
===================================

.. py:module:: airflow.timetables.simple


Module Contents
---------------

Classes
~~~~~~~

.. autoapisummary::

   airflow.timetables.simple.NullTimetable
   airflow.timetables.simple.OnceTimetable




.. py:class:: NullTimetable

   Bases: :py:obj:`_TrivialTimetable`

   Timetable that never schedules anything.

   This corresponds to ``schedule_interval=None``.

   .. py:attribute:: description
      :annotation: :str = Never, external triggers only

      

   .. py:method:: summary(self)
      :property:

      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.


   .. py:method:: next_dagrun_info(self, *, last_automated_data_interval, restriction)

      Provide information to schedule the next DagRun.

      The default implementation raises ``NotImplementedError``.

      :param last_automated_data_interval: The data interval of the associated
          DAG's last scheduled or backfilled run (manual runs not considered).
      :param restriction: Restriction to apply when scheduling the DAG run.
          See documentation of :class:`TimeRestriction` for details.

      :return: 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.



.. py:class:: OnceTimetable

   Bases: :py:obj:`_TrivialTimetable`

   Timetable that schedules the execution once as soon as possible.

   This corresponds to ``schedule_interval="@once"``.

   .. py:attribute:: description
      :annotation: :str = Once, as soon as possible

      

   .. py:method:: summary(self)
      :property:

      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.


   .. py:method:: next_dagrun_info(self, *, last_automated_data_interval, restriction)

      Provide information to schedule the next DagRun.

      The default implementation raises ``NotImplementedError``.

      :param last_automated_data_interval: The data interval of the associated
          DAG's last scheduled or backfilled run (manual runs not considered).
      :param restriction: Restriction to apply when scheduling the DAG run.
          See documentation of :class:`TimeRestriction` for details.

      :return: 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.



