如何每天自动创建数千个任务

how to create thousands of tasks each day, automatically

我们想使用 Apache Airflow 来主要安排 Scrapy Python Spiders 和一些其他脚本。 我们将有数以千计的蜘蛛,它们的调度每天都在变化,所以我们希望能够创建 Airflow dag 并每天一次从数据库中自动调度它们。我看到的关于气流的唯一示例使用 python 脚本来编写 DAG 文件。

自动创建 dag 文件和安排的最佳方式是什么?

编辑: 我设法使用 YAML 文件找到了一个应该有效的解决方案 https://codeascraft.com/2018/11/14/boundary-layer%E2%80%89-declarative-airflow-workflows/

Airflow 可以用在成千上万的动态任务中,但它不应该。 Airflow DAG 应该是非常稳定的。例如,您仍然可以使用 Airflow 来处理所有抓取的数据,并在以后的 ETL 过程中使用这些信息。

大量的动态任务会导致 DAG 像这样运行:

这会导致 GUI 和日志文件中出现大量垃圾信息。


但如果你真的只想使用 Airflow,你可以阅读 this article (about dynamic DAG generation) and this 文章(关于 DAG 中的动态任务生成)。