airflow.triggers.external_task

Module Contents

Classes

TaskStateTrigger

Waits asynchronously for a task in a different DAG to complete for a

DagStateTrigger

Waits asynchronously for a DAG to complete for a specific logical date.

class airflow.triggers.external_task.TaskStateTrigger(dag_id, task_id, states, execution_dates, poll_interval=5.0)[source]

Bases: airflow.triggers.base.BaseTrigger

Waits asynchronously for a task in a different DAG to complete for a specific logical date.

Parameters
  • dag_id (str) – The dag_id that contains the task you want to wait for

  • task_id (str) – The task_id that contains the task you want to wait for. If None (default value) the sensor waits for the DAG

  • states (list[str]) – allowed states, default is ['success']

  • execution_dates (list[datetime.datetime]) –

  • poll_interval (float) – The time interval in seconds to check the state. The default value is 5 sec.

serialize()[source]

Serializes TaskStateTrigger arguments and classpath.

async run()[source]

Checks periodically in the database to see if the task exists, and has hit one of the states yet, or not.

count_tasks(session)[source]

Count how many task instances in the database match our criteria.

class airflow.triggers.external_task.DagStateTrigger(dag_id, states, execution_dates, poll_interval=5.0)[source]

Bases: airflow.triggers.base.BaseTrigger

Waits asynchronously for a DAG to complete for a specific logical date.

Parameters
  • dag_id (str) – The dag_id that contains the task you want to wait for

  • states (list[str]) – allowed states, default is ['success']

  • execution_dates (list[datetime.datetime]) – The logical date at which DAG run.

  • poll_interval (float) – The time interval in seconds to check the state. The default value is 5.0 sec.

serialize()[source]

Serializes DagStateTrigger arguments and classpath.

async run()[source]

Checks periodically in the database to see if the dag run exists, and has hit one of the states yet, or not.

count_dags(session)[source]

Count how many dag runs in the database match our criteria.

Was this entry helpful?