gpt4 book ai didi

python - 设置多个环境的 Airflow

转载 作者:行者123 更新时间:2023-11-30 22:04:10 26 4
gpt4 key购买 nike

设置 Airflow 的惯用方法是什么,这样如果您有两个环境(例如 Production-East 和 Production-West),则仅显示每个环境中的 dags,但它们可以存在于单个存储库中?

最佳答案

实现此目的的理想方法是使用命名队列。设置多个工作人员,一些在 Production-East 环境中工作,一些在 Production-West 环境中工作。这样,两个 DAG 都会显示在 UI 中,但它们仅在具有该特定环境的工作计算机上执行。

来自documentation for queues :

使用 CeleryExecutor 时,可以指定任务发送到的 celery 队列。队列是BaseOperator的一个属性,因此任何任务都可以分配到任何队列。环境的默认队列在 airflow.cfgcelery -> default_queue 中定义。这定义了未指定时任务分配到的队列,以及 Airflow 工作线程在启动时监听的队列。

工作人员可以监听一个或多个任务队列。当工作程序启动时(使用命令airflowworker),可以指定一组逗号分隔的队列名称(例如airflowworker-qspark)。然后,该工作人员将仅拾取连接到指定队列的任务。

如果您需要专门的工作人员,无论是从资源角度(例如非常轻量级的任务,其中一个工作人员可以毫无问题地执行数千个任务),还是从环境角度(您希望工作人员从内部运行),这可能很有用Spark 集群本身,因为它需要非常特定的环境和安全权限)。

关于python - 设置多个环境的 Airflow ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53400870/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com