airflow.timetables.interval

模組內容

類別

CronDataIntervalTimetable

使用 cron 表達式排程資料間隔的時間表。

DeltaDataIntervalTimetable

使用時間差排程資料間隔的時間表。

屬性

Delta

airflow.timetables.interval.Delta[source]
class airflow.timetables.interval.CronDataIntervalTimetable(cron, timezone)[source]

基底類別: airflow.timetables._cron.CronMixin, _DataIntervalTimetable

使用 cron 表達式排程資料間隔的時間表。

這對應於 schedule=<cron>,其中 <cron> 是五/六段表示法,或是 cron_presets 之一。

此實作擴展 croniter 以增加時區感知能力。這是因為 croniter 僅適用於 naive 時間戳記,並且在決定下一個/上一個時間時無法考慮 DST。

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

classmethod deserialize(data)[source]

從資料反序列化時間表。

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

serialize()[source]

為 JSON 編碼序列化時間表。

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

infer_manual_data_interval(*, run_after)[source]

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

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

class airflow.timetables.interval.DeltaDataIntervalTimetable(delta)[source]

基底類別: _DataIntervalTimetable

使用時間差排程資料間隔的時間表。

這對應於 schedule=<delta>,其中 <delta>datetime.timedeltadateutil.relativedelta.relativedelta 實例。

property summary: str[source]

時間表的簡短摘要。

這用於在網頁 UI 中顯示時間表。例如,cron 表達式時間表可以使用它來顯示表達式。預設實作會傳回時間表的類型名稱。

classmethod deserialize(data)[source]

從資料反序列化時間表。

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

__eq__(other)[source]

如果偏移量符合則傳回。

這僅用於測試目的,不應在其他情況下依賴。

serialize()[source]

為 JSON 編碼序列化時間表。

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

validate()[source]

驗證時間表是否已正確指定。

覆寫此方法以提供在將 DAG 放入 dagbag 時引發的執行階段驗證。預設實作不做任何事。

引發

驗證失敗時引發 AirflowTimetableInvalid。

infer_manual_data_interval(run_after)[source]

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

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

這個條目有幫助嗎?