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 运行符合我们的标准。

此条目是否有帮助?