在气流中特定时间运行任务

utp*_*utp 2 jenkins airflow airflow-scheduler google-cloud-composer

我在气流 dag 中有 3 个任务。

这三个任务具有时间依赖性

任务 1 - 早上 8 点

任务 - 凌晨 2 点 - 上午 10 点

任务-3 - 上午 12 点

我没有找到任何提到这一点的文档。它告诉我们只设置上游或下游作业。谁能帮忙解决这个问题

我正在使用 Google Cloud Composer

UJI*_*JIN 8

嗯,Air​​flow 结构被设置schedule_interval为 DAG 级别。这意味着您可以设置整个 DAG 开始执行的时间,但您无法真正为每个任务指定不同的执行时间。

如果您有三个相互不依赖的独立任务,解决方案是创建三个不同的 DAG,并在这三个不同的时间安排它们。


task_2相反,如果和 的时间依赖性task_3并不那么重要,但您只关心一个接一个执行,那么您实际上可以设置任务之间的依赖性,以便task_2始终在task_1完成后运行并task_3始终在task_2完成后运行。要设置依赖关系,您可以使用非常方便的语法(假设您的任务已分配给变量task_1, task_2, task_3):

task_1 >> task_2 >> task_3
Run Code Online (Sandbox Code Playgroud)

您可以参考Airflow官方文档了解更多信息。


TL;DR: 您无法安排单个任务在不同的特定时间运行,因为您可以设置的唯一时间是整个 DAG 运行时间。