airflow.providers.standard.sensors.date_time¶
類¶
從觸發器啟動任務執行所需的引數。 |
|
等待直到指定的日期時間。 |
|
等待直到指定的日期時間發生。 |
模組內容¶
- class airflow.providers.standard.sensors.date_time.StartTriggerArgs[原始碼]¶
從觸發器啟動任務執行所需的引數。
- timeout: datetime.timedelta | None = None[原始碼]¶
- class airflow.providers.standard.sensors.date_time.DateTimeSensor(*, target_time, **kwargs)[原始碼]¶
基礎:
airflow.sensors.base.BaseSensorOperator等待直到指定的日期時間。
此感測器的主要優勢是
target_time的冪等性。它處理了TimeSensor和TimeDeltaSensor不適合的一些情況。- 示例 1 :
如果一個任務需要在每個
logical_date的上午 11 點等待。使用TimeSensor或TimeDeltaSensor,所有在凌晨 1 點啟動的回填任務都必須等待 10 小時。這是不必要的,例如{{ ds }} = '1970-01-01'的回填任務不需要等待,因為1970-01-01T11:00:00已經過去了。- 示例 2 :
如果一個 DAG 定期在每天 23:00 執行,但其中一個任務需要在第二天 01:00 執行,使用
TimeSensor將會立即返回True,因為 23:00 > 01:00。相反,我們可以這樣做:DateTimeSensor( task_id="wait_for_0100", target_time="{{ data_interval_end.tomorrow().replace(hour=1) }}", )
- 引數:
target_time (str | datetime.datetime) – 任務在該日期時間之後成功。(模板化)
- template_fields: collections.abc.Sequence[str] = ('target_time',)[原始碼]¶
- class airflow.providers.standard.sensors.date_time.DateTimeSensorAsync(*, start_from_trigger=False, end_from_trigger=False, trigger_kwargs=None, **kwargs)[原始碼]¶
基礎:
DateTimeSensor等待直到指定的日期時間發生。
推遲自身執行,避免在等待時佔用工作程序槽。它是 DateTimeSensor 的直接替代品。
- 引數: