airflow.timetables.events
¶
模組內容¶
類別¶
在特定列出的日期時間排程 DAG 執行的時間表。 |
- class airflow.timetables.events.EventsTimetable(event_dates, restrict_to_events=False, presorted=False, description=None)[source]¶
基礎:
airflow.timetables.base.Timetable
在特定列出的日期時間排程 DAG 執行的時間表。
適用於可預測但真正不規則的排程,例如體育賽事。
- 參數
event_dates (Iterable[pendulum.DateTime]) – DAG 運行的日期時間列表。重複項將被忽略。必須是有限且合理的大小,因為它將完整載入。
restrict_to_events (bool) – 手動執行是否應使用最近的事件或目前時間
presorted (bool) – 如果為 True,則 event_dates 將被假定為升序。為較大的 event_dates 列表提供適度的效能改進。
description (str | None) – 要在 UI 中顯示的時間表名稱。預設值 None 將顯示為 “X Events”,其中 X 是 event_dates 的長度
- property summary: str[source]¶
時間表的簡短摘要。
這用於在 Web UI 中顯示時間表。例如,cron 表達式時間表可以使用它來顯示表達式。預設實作傳回時間表的類型名稱。
- next_dagrun_info(*, last_automated_data_interval, restriction)[source]¶
提供排程下一個 DagRun 的資訊。
預設實作引發
NotImplementedError
。- 參數
last_automated_data_interval (airflow.timetables.base.DataInterval | None) – 關聯 DAG 的上次排程或回填執行的資料間隔(不考慮手動執行)。
restriction (airflow.timetables.base.TimeRestriction) – 排程 DAG 執行時套用的限制。有關詳細資訊,請參閱
TimeRestriction
的文件。
- 傳回
有關何時可以排程下一個 DagRun 的資訊。None 表示 DagRun 不會發生。這並不表示此 DAG 甚至永遠不會排程更多執行;時間表可以在另一個時間被詢問時傳回 DagRunInfo 物件。
- 傳回類型
- infer_manual_data_interval(*, run_after)[source]¶
當手動觸發 DAG 執行時,推斷其資料間隔。
這用於例如手動觸發的執行,其中
run_after
將是用戶觸發執行時的時間。預設實作引發NotImplementedError
。