Airflow 气流:仅允许一个任务实例
有没有办法指定一个任务只能并发运行一次?那么在上面的树中,DAG并发性为4,气流将启动任务4,而不是任务2的第二个实例 这个DAG有点特殊,因为任务之间没有顺序。这些任务是独立的,但目的相关,因此保留在一个DAG中,以便创建过多的单任务DAGAirflow 气流:仅允许一个任务实例,airflow,Airflow,有没有办法指定一个任务只能并发运行一次?那么在上面的树中,DAG并发性为4,气流将启动任务4,而不是任务2的第二个实例 这个DAG有点特殊,因为任务之间没有顺序。这些任务是独立的,但目的相关,因此保留在一个DAG中,以便创建过多的单任务DAG max\u active\u runs为2,dag\u concurrency为4。我希望它启动所有4个任务,并且如果上一次运行中完成了相同的任务,则只在下一次运行中启动一个任务。我可能误解了您的问题,但我相信您希望在下一次运行中开始任务之前,在一次运行中
max\u active\u runs
为2,dag\u concurrency
为4。我希望它启动所有4个任务,并且如果上一次运行中完成了相同的任务,则只在下一次运行中启动一个任务。我可能误解了您的问题,但我相信您希望在下一次运行中开始任务之前,在一次运行中完成所有任务。因此,DAG只会在前一次执行完成后执行
如果是这种情况,您可以使用dag的max\u active\u runs
参数来限制允许dag同时运行的实例数量
此处有更多信息(参考最后一个点):
max_active_runs定义允许有多少个DAG并发实例运行
在[core]下的afflow.cfg上。你会发现 dag_并发=16 //计划程序允许并发运行的任务实例数 您可以根据自己的意愿自由更改此设置。官方触发规则:
依赖于过去(布尔值)当设置为True时,如果任务的上一个计划未成功,则可防止任务触发
因此,未来的DAG将等待前面的DAG成功完成后再执行。描述了参数任务\u并发性。只需将其设置为1。不,我不是指DAG的实例,而是指DAG中每个任务的实例。如果是这种情况,您可以考虑使用不同的优先级权重
以特定顺序执行DAG中的任务。您还应该了解可以应用于dag的各种触发器规则。你可以找到更多关于他们的信息。您可以使用“依赖于过去”规则,但请记住触发规则依赖于成功的任务(不仅仅是完成)。我的问题与DAG实例无关,而是DAG中每个任务的实例。对不起,您的DAG数也是4,因此我误解了。请问您如何定义触发规则?因为正常情况下,上游任务成功时会触发任务。您可以看到官方消息,如果您必须重新运行由成功实例交错的失败任务,那么这将不起作用。