blob: 9a9d020c594af4cac50f727183f0c1929bcdbb5f [file] [log] [blame]
:mod:`airflow.sensors.external_task_sensor`
===========================================
.. py:module:: airflow.sensors.external_task_sensor
Module Contents
---------------
.. py:class:: ExternalTaskSensor(external_dag_id, external_task_id, allowed_states=None, execution_delta=None, execution_date_fn=None, check_existence=False, *args, **kwargs)
Bases: :class:`airflow.sensors.base_sensor_operator.BaseSensorOperator`
Waits for a different DAG or a task in a different DAG to complete for a
specific execution_date
:param external_dag_id: The dag_id that contains the task you want to
wait for
:type external_dag_id: str
:param external_task_id: The task_id that contains the task you want to
wait for. If ``None`` the sensor waits for the DAG
:type external_task_id: str
:param allowed_states: list of allowed states, default is ``['success']``
:type allowed_states: list
:param execution_delta: time difference with the previous execution to
look at, the default is the same execution_date as the current task or DAG.
For yesterday, use [positive!] datetime.timedelta(days=1). Either
execution_delta or execution_date_fn can be passed to
ExternalTaskSensor, but not both.
:type execution_delta: datetime.timedelta
:param execution_date_fn: function that receives the current execution date
and returns the desired execution dates to query. Either execution_delta
or execution_date_fn can be passed to ExternalTaskSensor, but not both.
:type execution_date_fn: callable
:param check_existence: Set to `True` to check if the external task exists (when
external_task_id is not None) or check if the DAG to wait for exists (when
external_task_id is None), and immediately cease waiting if the external task
or DAG does not exist (default value: False).
:type check_existence: bool
.. attribute:: template_fields
:annotation: = ['external_dag_id', 'external_task_id']
.. attribute:: ui_color
:annotation: = #19647e
.. method:: poke(self, context, session=None)