airflow.timetables.trigger

模組內容

類別

CronTriggerTimetable

根據 cron 表達式觸發 DAG 運行時間表。

class airflow.timetables.trigger.CronTriggerTimetable(cron, *, timezone, interval=datetime.timedelta())[原始碼]

基底類別: airflow.timetables._cron.CronMixin, airflow.timetables.base.Timetable

根據 cron 表達式觸發 DAG 運行時間表。

這與 CronDataIntervalTimetable 不同,後者 cron 表達式指定 DAG 運行的資料間隔。使用此時間表,資料間隔與 cron 表達式獨立指定。同樣基於相同原因,此時間表會在期間開始時立即啟動 DAG 運行(類似於 POSIX cron),而不是需要等待一個資料間隔過去。

請勿在此處傳遞 @once;請改用 OnceTimetable

classmethod deserialize(data)[原始碼]

從資料反序列化時間表。

當反序列化序列化的 DAG 時,會呼叫此方法。data 將會是 DAG 序列化期間 serialize 所傳回的任何內容。預設實作會建構不帶任何引數的時間表。

serialize()[原始碼]

序列化時間表以進行 JSON 編碼。

在 DAG 序列化期間會呼叫此方法,以將時間表資訊儲存在資料庫中。這應傳回 JSON 可序列化的 dict,該 dict 將在反序列化 DAG 時饋送到 deserialize 中。預設實作會傳回空的 dict。

infer_manual_data_interval(*, run_after)[原始碼]

當手動觸發 DAG 運行時,為其推斷資料間隔。

這用於例如手動觸發的運行,其中 run_after 將會是使用者觸發運行時的時間。預設實作會引發 NotImplementedError

next_dagrun_info(*, last_automated_data_interval, restriction)[原始碼]

提供資訊以排程下一個 DagRun。

預設實作會引發 NotImplementedError

參數
返回

關於何時可以排程下一個 DagRun 的資訊。 None 表示 DagRun 將不會發生。這並不表示即使再次針對此 DAG 也不會排程更多運行;時間表可以在另一個時間被詢問時傳回 DagRunInfo 物件。

返回類型

airflow.timetables.base.DagRunInfo | None

此條目是否有幫助?