Let's say we have two DAGs, each containing only one task:
DAG A : Task A
(produces data, runs manually)DAG B : Task B
(consumes hourly data, runs hourly)
DAG B runs may fail because hourly data that Task B has to consume is not available yet (not produced by Task A yet). In that case, we should wait for DAG A to run again before retrying Task B.
How would you implement this logic ?
We could use the retries
parameter for Task B in order to retry it let's say every hours to see if the hourly data is now available. But it's not optimal at all, as we know that if Task B failed once, it will always fail at least until DAG A runs again.
Finally, I would like to be able to retry a task, but only after a condition is met (here, when DAG A has run again).