jedcunningham commented on code in PR #23099:
URL: https://github.com/apache/airflow/pull/23099#discussion_r910326034


##########
docs/apache-airflow/concepts/timetable.rst:
##########
@@ -48,3 +48,64 @@ the schedule. Some examples are:
 As such, Airflow allows for custom timetables to be written in plugins and 
used by
 DAGs. An example demonstrating a custom timetable can be found in the
 :doc:`/howto/timetable` how-to guide.
+
+Built In Timetables
+-------------------
+
+Airflow comes with several common timetables built in to cover the most common 
use cases. Additional timetables
+may be available in plugins.
+
+CronDataIntervalTimetable
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Set schedule based on a cron expression. Can be selected by providing a string 
that is a valid
+cron expression to the ``schedule_interval`` parameter of a DAG as described 
in the :doc:`/concepts/dags` documentation.
+
+.. code-block:: python
+
+    @dag(
+        schedule_interval="0 1 * * 3"  # At 01:00 on Wednesday.
+        ...

Review Comment:
   ```suggestion
   ```
   
   These are what's blowing up the static checks.



##########
docs/apache-airflow/concepts/timetable.rst:
##########
@@ -48,3 +48,64 @@ the schedule. Some examples are:
 As such, Airflow allows for custom timetables to be written in plugins and 
used by
 DAGs. An example demonstrating a custom timetable can be found in the
 :doc:`/howto/timetable` how-to guide.
+
+Built In Timetables
+-------------------
+
+Airflow comes with several common timetables built in to cover the most common 
use cases. Additional timetables
+may be available in plugins.
+
+CronDataIntervalTimetable
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Set schedule based on a cron expression. Can be selected by providing a string 
that is a valid
+cron expression to the ``schedule_interval`` parameter of a DAG as described 
in the :doc:`/concepts/dags` documentation.
+
+.. code-block:: python
+
+    @dag(
+        schedule_interval="0 1 * * 3"  # At 01:00 on Wednesday.
+        ...
+    )
+
+DeltaDataIntervalTimetable
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Schedules data intervals with a time delta. Can be selected by providing a
+:class:`datetime.timedelta` or ``dateutil.relativedelta.relativedelta`` to the 
``schedule_interval`` parameter of a DAG.
+
+.. code-block:: python
+
+    @dag(
+        schedule_interval=datetime.timedelta(minutes=30)
+        ...
+    )
+
+EventsTimetable
+^^^^^^^^^^^^^^^
+
+Simply pass a list of ``datetime``s for the DAG to run after. Useful for 
timing based on sporting
+events, planned communication campaigns, and other schedules that are 
arbitrary and irregular but predictable.
+
+The list of events must be finite and of reasonable size as it must be loaded 
every time the DAG is parsed. Optionally,
+the ``restrict_to_events`` flag can be used to force manual runs of the DAG to 
use the time of the most recent (or very
+first) event for the data interval, otherwise manual runs will run with a 
``data_interval_start`` and
+``data_interval_end`` equal to the time at which the manual run was begun. You 
can also name the set of events using the
+``description`` parameter, which will be displayed in the Airflow UI.
+
+.. code-block:: python
+
+    from airflow.timetables.events import EventsTimetable
+
+    @dag(
+        timetable=EventsTimetable(
+            event_dates=[
+                pendulum.datetime(2022, 4, 5, 8, 27,tz="America/Chicago"),
+                pendulum.datetime(2022, 4, 17, 8, 27,tz="America/Chicago"),
+                pendulum.datetime(2022, 4, 22, 20, 50,tz="America/Chicago"),
+            ],
+            description="My Team's Baseball Games",
+            restrict_to_events=False,
+        ),
+        ...,

Review Comment:
   ```suggestion
   ```



##########
docs/apache-airflow/concepts/timetable.rst:
##########
@@ -48,3 +48,64 @@ the schedule. Some examples are:
 As such, Airflow allows for custom timetables to be written in plugins and 
used by
 DAGs. An example demonstrating a custom timetable can be found in the
 :doc:`/howto/timetable` how-to guide.
+
+Built In Timetables
+-------------------
+
+Airflow comes with several common timetables built in to cover the most common 
use cases. Additional timetables
+may be available in plugins.
+
+CronDataIntervalTimetable
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Set schedule based on a cron expression. Can be selected by providing a string 
that is a valid
+cron expression to the ``schedule_interval`` parameter of a DAG as described 
in the :doc:`/concepts/dags` documentation.
+
+.. code-block:: python
+
+    @dag(
+        schedule_interval="0 1 * * 3"  # At 01:00 on Wednesday.
+        ...
+    )
+
+DeltaDataIntervalTimetable
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Schedules data intervals with a time delta. Can be selected by providing a
+:class:`datetime.timedelta` or ``dateutil.relativedelta.relativedelta`` to the 
``schedule_interval`` parameter of a DAG.
+
+.. code-block:: python
+
+    @dag(
+        schedule_interval=datetime.timedelta(minutes=30)
+        ...

Review Comment:
   ```suggestion
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to