我正在尝试将一个临时控制和监控的工作流移至 Airflow 2。该工作流由多个步骤组成,这是一个非常典型的用例,只有一个例外 - 一个步骤是一项非常长时间运行的工作。
在极少数情况下,这项工作可能需要几分钟到一天(甚至两天)。该任务实际上是由不同的系统执行的(不在我的控制范围内),这里的 Airflow 只负责远程启动它并轮询状态。没有办法将任务分成更小的任务。但是,我能够在任务运行时监控任务的状态和进度。在任务执行之前,我自己也无法对任务难度做出任何假设——我完全依赖于报告的进度。
尽管总步数仍然相同,但每次 DAG 运行的时间量可能会在数量级上有所不同。因此,以某种方式将有关任务进度的知识整合到 Airflow 中会非常有帮助。任何提示如何解决这个问题?