I'm trying to move an adhoc-controlled and monitored workflow to Airflow 2. The workflow consists of multiple steps, quite a typical use case, with a single exception - one step is a very long-running job.
This job might take from a few minutes to a day (or even two) in some rare cases. The task is actually performed by a different system (out of my control), the Airflow here is only responsible for starting it remotely and polling the state. There's no way to split the task into smaller ones. I'm, however, able to monitor task's status and progress when it's running. I'm also not able to make any assumptions about the task difficulty by myself before the task is executed - I totally depend on the reported progress.
Although the total number of steps is still the same, the amount of time for each DAG run might differ in order of magnitude. So it would be very helpful to somehow incorporate the knowledge about the task progress into Airflow. Any tip how to approach this?