airflow.triggers.external_task
¶
Module Contents¶
Classes¶
Waits asynchronously for a task in a different DAG to complete for a specific logical date. |
|
Waits asynchronously for a DAG to complete for a specific logical date. |
- class airflow.triggers.external_task.TaskStateTrigger(dag_id, execution_dates, trigger_start_time, states=None, task_id=None, poll_interval=2.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 | None) – The task_id that contains the task you want to wait for.
states (list[str] | None) – allowed states, default is
['success']
execution_dates (list[datetime.datetime]) – task execution time interval
poll_interval (float) – The time interval in seconds to check the state. The default value is 5 sec.
trigger_start_time (datetime.datetime) – time in Datetime format when the trigger was started. Is used to control the execution of trigger to prevent infinite loop in case if specified name of the dag does not exist in database. It will wait period of time equals _timeout_sec parameter from the time, when the trigger was started and if the execution lasts more time than expected, the trigger will terminate with ‘timeout’ status.
- async run()[source]¶
Check periodically in the database to see if the dag exists and is in the running state.
If found, wait until the task specified will reach one of the expected states. If dag with specified name was not in the running state after _timeout_sec seconds after starting execution process of the trigger, terminate with status ‘timeout’.
- 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[airflow.utils.state.DagRunState]) – 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.