This is an automated email from the ASF dual-hosted git repository.

potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new a9f0cf50454 Clarify custom-time parameterized timetable logic (#34897) 
(#69151)
a9f0cf50454 is described below

commit a9f0cf504543d67b3d0f9c458956e41dd8a92ef0
Author: Deepak Jain <[email protected]>
AuthorDate: Sat Jul 4 11:20:45 2026 -0700

    Clarify custom-time parameterized timetable logic (#34897) (#69151)
---
 airflow-core/docs/howto/timetable.rst | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/airflow-core/docs/howto/timetable.rst 
b/airflow-core/docs/howto/timetable.rst
index 90308ca42e5..0fc6fa9ea56 100644
--- a/airflow-core/docs/howto/timetable.rst
+++ b/airflow-core/docs/howto/timetable.rst
@@ -238,6 +238,13 @@ purpose, we'd want to do something like:
                 run_after=DateTime.combine(end.date(), 
self._schedule_at).replace(tzinfo=UTC),
             )
 
+If you adapt the first-run logic from ``AfterWorkdayTimetable`` for a custom
+``schedule_at`` value, compare the candidate time with ``self._schedule_at``.
+The midnight-specific check in the earlier example is only correct when runs
+are scheduled at ``00:00``. For example, an earliest time of ``06:00`` should
+still allow an ``08:00`` same-day run, while an earliest time of ``09:00`` 
should
+move to the next workday.
+
 However, since the timetable is a part of the Dag, we need to tell Airflow how
 to serialize it with the context we provide in ``__init__``. This is done by
 implementing two additional methods on our timetable class:

Reply via email to