首页 > 解决方案 > 如何让 DAG 处理 Apache Airflow 中的数百个项目?

问题描述

我是 Apache Airflow 的新手,但我发现它非常方便。目前我正在尝试将其用于以下场景:

在大学里,我们通过从 GitLab 下载并每隔几个小时一个一个(或并行)处理它们来自动检查学生的项目。所以我创建了 DAG,它能够处理一个项目。但是因为项目的数量是数百个(大约 800 个),目前我正在寻找解决方案,如何正确处理它们。

我可以通过以下方式做到这一点:

# process the list of projects by their ids
for project in [1, 2, 3 ]:
   process_project(project)

这样,它将创建数百个运行的 DAG(在图形/树视图中)一个接一个地运行。我不确定这是否是正确的方法,因为执行的 DAG 列表很大。是的 - 我可以很容易地看到每个处理过的项目的错误,但它看起来很乱:-/

还有 - 如何正确并行处理它们?带泳池?

还有一个问题 - 如何正确结束运行 DAG 的处理?目前我正在提出气流异常,这也将退出for循环。是的 - 我可以try-except那个,但同样 - 我不确定这是否是正确的方法。

谢谢你的帮助 ;)

米雷克

标签: parallel-processingairflowdirected-acyclic-graphs

解决方案


推荐阅读