Description
Type: Bug / Feature Request
Apache Airflow version: 2.10.3
What happened:
When using ExternalTaskSensor with deferrable=True, the poke_interval parameter is ignored. The trigger polls every ~2 seconds regardless of the configured poke_interval, and logs "Sleeping for 2.0 seconds" on every cycle.
For a sensor with a 6-hour timeout, this generates ~10,800 log lines per task instance.
Use case/motivation
The trigger should respect the poke_interval parameter (or provide a separate trigger_poll_interval parameter) to control how often it checks the external DAG state, similar to how the non-deferred reschedule mode respects poke_interval.
Additional context:
This makes deferrable=True impractical for ExternalTaskSensor compared to mode="reschedule", which properly respects poke_interval and produces cleaner, more useful logs (including the external DAG name being waited on).
Related issues
No response
Are you willing to submit a PR?
Code of Conduct
Description
Type: Bug / Feature Request
Apache Airflow version: 2.10.3
What happened:
When using ExternalTaskSensor with deferrable=True, the poke_interval parameter is ignored. The trigger polls every ~2 seconds regardless of the configured poke_interval, and logs "Sleeping for 2.0 seconds" on every cycle.
For a sensor with a 6-hour timeout, this generates ~10,800 log lines per task instance.
Use case/motivation
The trigger should respect the poke_interval parameter (or provide a separate trigger_poll_interval parameter) to control how often it checks the external DAG state, similar to how the non-deferred reschedule mode respects poke_interval.
Additional context:
This makes deferrable=True impractical for ExternalTaskSensor compared to mode="reschedule", which properly respects poke_interval and produces cleaner, more useful logs (including the external DAG name being waited on).
Related issues
No response
Are you willing to submit a PR?
Code of Conduct