parallel-processing - 如何让 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
那个,但同样 - 我不确定这是否是正确的方法。
谢谢你的帮助 ;)
米雷克
解决方案
推荐阅读
- javascript - 如何在变量中获取这个值并在 React 的条件中使用它?
- python - Opencv 配置与两个主要的 python (3.7 & 3.8)
- android - 使用按键作为父级从 Firebase 中检索子节点值
- ios - 快速生成文件的CRC32校验和
- sql - 我该如何使用 EXECUTE 命令呢?
- pandas - 使用自定义偏移量按月重新采样熊猫
- c# - 用于自我显示的图像库代码:在 C# 中用于 android 应用程序
- node.js - 使用查询生成器将 psql 查询转换为 typeorm
- python - Mongoengine - 如何从他们的 __str__ 或 __unicode__ 方法中获取模型的所有 ReferenceField
- python - 如何从视频中获取 RGB 值?