---
title: "Why does the ExternalTaskSensor get stuck?"
description: "How to fix the stuck ExternalTaskSensor"
author: "Bartosz Mikulski"
author_bio: "Principal AI Engineer & MLOps Architect. I bridge the gap between \"it works in a notebook\" and \"it works for 200 million users.\""
author_url: https://mikulskibartosz.name
author_linkedin: https://www.linkedin.com/in/mikulskibartosz/
author_github: https://github.com/mikulskibartosz
canonical_url: https://mikulskibartosz.name/externaltasksesnor-gets-stuck
---

If you configured an ExternalTaskSensor in Airflow to wait until a task in another DAG finishes (or the entire DAG finishes), you have probably noticed that it behaves surprisingly. Most data engineers assume that it is a bug, and their sensor gets stuck for whatever reason. I have to admit that I find it annoying because the documentation of the ExternalTaskSensor does not warn us about it.

**ExternalTaskSensor works only if the other DAG has the same execution date equal to the expected execution date.** Sure, you can specify the execution time delta, but it is not a time range.

For example:

* The execution date of the DAG that contains the sensor is: 2020-10-01 14:00:00
* The execution delta = 3 hours

In this situation, the other DAG's execution date **must** be 2020-10-01 11:00:00.

I think that most data engineers expect that delta = 3 hours means that the other DAG may execute at any time between 11:00 and 14:00.

