airflow.timetables.datasets
¶
模組內容¶
類別¶
結合基於時間的排程與基於事件的排程。 |
- class airflow.timetables.datasets.DatasetOrTimeSchedule(*, timetable, datasets)[source]¶
基底類別:
airflow.timetables.simple.DatasetTriggeredTimetable
結合基於時間的排程與基於事件的排程。
- property summary: str[source]¶
時間表的簡短摘要。
這用於在 Web UI 中顯示時間表。例如,cron 表達式時間表可以使用它來顯示表達式。預設實作會傳回時間表的類型名稱。
- classmethod deserialize(data)[source]¶
從資料反序列化時間表。
當反序列化序列化的 DAG 時會呼叫此方法。
data
將會是serialize
在 DAG 序列化期間傳回的任何內容。預設實作會建構不帶任何引數的時間表。
- serialize()[source]¶
序列化時間表以進行 JSON 編碼。
這會在 DAG 序列化期間呼叫,以將時間表資訊儲存在資料庫中。這應傳回一個 JSON 可序列化的 dict,當 DAG 反序列化時,該 dict 將被饋送到
deserialize
中。預設實作會傳回一個空的 dict。
- validate()[source]¶
驗證時間表是否正確指定。
覆寫此方法以提供在 DAG 放入 dagbag 時引發的執行時期驗證。預設實作不做任何事。
- 引發
驗證失敗時引發 AirflowTimetableInvalid。
- infer_manual_data_interval(*, run_after)[source]¶
當手動觸發 DAG 執行時,推斷其資料間隔。
這用於例如手動觸發的執行,其中
run_after
將會是使用者觸發執行時的時間。預設實作會引發NotImplementedError
。
- 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 物件。
- 返回類型