airflow.providers.standard.triggers.external_task

模組內容

類別

WorkflowTrigger

用於監控 Apache Airflow 中任務、任務群組和 DAG 執行的觸發器。

DagStateTrigger

非同步等待 DAG 針對特定邏輯日期完成。

class airflow.providers.standard.triggers.external_task.WorkflowTrigger(external_dag_id, logical_dates=None, execution_dates=None, external_task_ids=None, external_task_group_id=None, failed_states=None, skipped_states=None, allowed_states=None, poke_interval=2.0, soft_fail=False, **kwargs)[原始碼]

基底: airflow.triggers.base.BaseTrigger

用於監控 Apache Airflow 中任務、任務群組和 DAG 執行的觸發器。

參數
  • external_dag_id (str) – 外部 DAG 的 ID。

  • logical_dates (list[datetime.datetime] | None) – 外部 DAG 的邏輯日期列表。

  • external_task_ids (Collection[str] | None) – 要等待的外部任務 ID 集合。

  • external_task_group_id (str | None) – 要等待的外部任務群組 ID。

  • failed_states (Iterable[str] | None) – 視為外部任務失敗的狀態。

  • skipped_states (Iterable[str] | None) – 視為外部任務跳過的狀態。

  • allowed_states (Iterable[str] | None) – 視為外部任務成功的狀態。

  • poke_interval (float) – 輪詢外部任務的間隔(秒)。

  • soft_fail (bool) – 若為 True,觸發器不會因外部任務失敗而使整個 DAG 失敗。

serialize()[原始碼]

序列化觸發器參數和模組路徑。

async run()[原始碼]

定期檢查任務、任務群組或 DAG 狀態。

class airflow.providers.standard.triggers.external_task.DagStateTrigger(dag_id, states, logical_dates=None, execution_dates=None, poll_interval=5.0)[原始碼]

基底: airflow.triggers.base.BaseTrigger

非同步等待 DAG 針對特定邏輯日期完成。

參數
  • dag_id (str) – 包含您要等待之任務的 dag_id

  • states (list[airflow.utils.state.DagRunState]) – 允許的狀態,預設為 ['success']

  • logical_dates (list[datetime.datetime] | None) – DAG 運行的邏輯日期。

  • poll_interval (float) – 檢查狀態的時間間隔,以秒為單位。預設值為 5.0 秒。

serialize()[原始碼]

序列化 DagStateTrigger 參數和類別路徑。

async run()[原始碼]

定期檢查 dag 運行是否存在,以及是否已達到其中一個狀態。

count_dags(*, session=NEW_SESSION)[原始碼]

計算資料庫中有多少 dag 運行符合我們的條件。

此條目是否有幫助?