airflow.triggers.base¶
屬性¶
類¶
從觸發器啟動任務執行所需的引數。 |
|
所有觸發器的基類。 |
|
用於根據外部事件排程 DAG 的觸發器的基類。 |
|
當條件滿足時,觸發器可以觸發的事件。 |
|
生成此事件以使任務成功結束。 |
|
生成此事件以使任務失敗結束。 |
|
生成此事件以使任務以 '跳過' 狀態結束。 |
函式¶
模組內容¶
- class airflow.triggers.base.StartTriggerArgs[source]¶
從觸發器啟動任務執行所需的引數。
- timeout: datetime.timedelta | None = None[source]¶
- class airflow.triggers.base.BaseTrigger(**kwargs)[source]¶
基類:
abc.ABC,airflow.utils.log.logging_mixin.LoggingMixin所有觸發器的基類。
觸發器可以存在於兩種上下文中
在 Operator 內部,當它被傳遞給 TaskDeferred 時
在觸發器工作程序中主動執行
我們在兩種情況下使用相同的類,並依賴所有 Trigger 類能夠返回(可以使用 Airflow-JSON 編碼的)引數,這些引數將允許它們在其他地方被重新例項化。
- abstract run()[source]¶
- 非同步:
在非同步上下文中執行觸發器。
觸發器應該在需要觸發事件時 yield 一個 Event,並在完成時返回 None。單事件觸發器應該 yield 然後立即返回。
如果它 yield,它很可能會很快恢復,但也有可能不會(例如,如果工作負載被移動到另一個觸發器程序,或者多事件觸發器被用於單事件任務延遲)。
在任何一種情況下,Trigger 類都應假定它們會被持久化,然後在不再需要時依賴於 cleanup() 方法被呼叫。
- class airflow.triggers.base.BaseEventTrigger(**kwargs)[source]¶
基類:
BaseTrigger用於根據外部事件排程 DAG 的觸發器的基類。
BaseEventTrigger是BaseTrigger的子類,用於標識與事件驅動排程相容的觸發器。
- class airflow.triggers.base.TriggerEvent(payload, **kwargs)[source]¶
基類:
pydantic.BaseModel當條件滿足時,觸發器可以觸發的事件。
事件必須具有一個唯一標識值,該值在無論觸發器在何處執行都應相同;這是為了確保如果同一觸發器在兩個位置執行(出於高可用性原因),我們可以對其事件進行去重。
- class airflow.triggers.base.TaskSuccessEvent(*, xcoms=None, **kwargs)[source]¶
基類:
BaseTaskEndEvent生成此事件以使任務成功結束。
- task_instance_state: airflow.utils.state.TaskInstanceState[source]¶
- class airflow.triggers.base.TaskFailedEvent(*, xcoms=None, **kwargs)[source]¶
基類:
BaseTaskEndEvent生成此事件以使任務失敗結束。
- task_instance_state: airflow.utils.state.TaskInstanceState[source]¶
- class airflow.triggers.base.TaskSkippedEvent(*, xcoms=None, **kwargs)[source]¶
基類:
BaseTaskEndEvent生成此事件以使任務以 '跳過' 狀態結束。
- task_instance_state: airflow.utils.state.TaskInstanceState[source]¶