airflow.timetables.datasets

模組內容

類別

DatasetOrTimeSchedule

結合基於時間的排程與基於事件的排程。

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

參數
返回

關於何時可以排程下一個 DagRun 的資訊。 None 表示不會發生 DagRun。這並不表示此 DAG 甚至不會再次排程更多執行;時間表可以在稍後詢問時傳回 DagRunInfo 物件。

返回類型

airflow.timetables.base.DagRunInfo | None

generate_run_id(*, run_type, **kwargs)[source]

此條目是否有幫助?