python-3.x 如何在Airflow 2.8.0中为Airflow Celery Worker添加`broker_url`设置?

mzmfm0qo  于 3个月前  发布在  Python
关注(0)|答案(1)|浏览(79)

我试图在我的Ubuntu机器上安装Celery with Redis for Airflow 2.8.0,但我不知道应该把broker_url设置在哪里。
如果你检查airflow.cfg,你会注意到,没有celery 部分的设置在它。Official docs是不清楚的-它说,我应该找到celery 的配置文件在气流.providers.celery(~/airflow/airflow/lib/python3.10/site-packages/airflow/providers/celery),但没有配置文件在这里:
从Airflow 2.7.0开始使用嵌入在提供程序包中的配置。以前,在Airflow核心包中描述和配置了配置-因此,如果您使用的是低于2.7.0的Airflow,请查看Airflow文档,以获得Airflow核心中可用的可用配置选项列表。
所以问题是:

  1. Airflow 2.8.0的broker_url设置应该放在哪里?
    1.默认情况下,Airflow Celery Worker使用的配置文件是什么?如果我用airflow celery worker命令启动它,它会写传输是redis://redis:6379/0
(airflow) my@comp:~/airflow$ airflow celery worker
[2023-12-30 11:41:27 +0000] [215202] [INFO] Starting gunicorn 21.2.0
[2023-12-30 11:41:27 +0000] [215202] [INFO] Listening at: http://[::]:8793 (215202)
[2023-12-30 11:41:27 +0000] [215202] [INFO] Using worker: sync
[2023-12-30 11:41:27 +0000] [215203] [INFO] Booting worker with pid: 215203
[2023-12-30 11:41:27 +0000] [215204] [INFO] Booting worker with pid: 215204
 
 -------------- celery@comp v5.3.6 (emerald-rush)
--- ***** ----- 
-- ******* ---- Linux-5.15.0-91-generic-x86_64-with-glibc2.35 2023-12-30 11:41:27
- *** --- * --- 
- ** ---------- [config]
- ** ---------- .> app:         airflow.providers.celery.executors.celery_executor:0x7fd684150b50
- ** ---------- .> transport:   redis://redis:6379/0
- ** ---------- .> results:     postgresql+psycopg2://airflow_user:**@localhost:5432/airflow_db
- *** --- * --- .> concurrency: 16 (prefork)
-- ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker)
--- ***** ----- 
 -------------- [queues]
                .> default          exchange=default(direct) key=default

字符串

czfnxgou

czfnxgou1#

我将以下内容添加到airflow.cfg文件的末尾:

[celery]
broker_url = redis://127.0.0.1:6379/0

字符串
这有助于覆盖Celery的代理URL。不确定这是解决方案(更像是变通方法),但我找不到放置此设置的位置。

相关问题