我正在尝试从LocalExecutor切换到本地计算机上的CeleryExecutor。我应该使用pip install airflow[celery]
安装必要的库。我也安装并运行了redis。
但是,当我尝试运行airflow worker
时,我收到错误:
DEFAULT_EXECUTOR = CeleryExecutor()
NameError: CeleryExecutor' is not defined
我将broker url
和celery_result_backend
都设置为redis://localhost:6379
,并在后台运行redis。我做错了什么?
答案 0 :(得分:1)
似乎你换了,但气流并不知道。在运行每个气流命令之前检查您是否已指定 AIRFLOW_HOME env变量,并且您没有文件夹〜/ airflow 和文件〜/ airflow.cfg < / em>(在你的主目录中!)因为它将被用作默认值(忽略你的 AIRFLOW_HOME )。
有关此问题的更多详细信息:https://github.com/puckel/docker-airflow/issues/132
答案 1 :(得分:1)
打开python shell,然后运行from celery import Celery
来测试是否已安装celery
。如果没有,您可以通过pip安装它。
pip install celery
答案 2 :(得分:0)
尝试打开安装了气流的python shell并运行:
>>> from airflow.executors.celery_executor import CeleryExecutor
我认为你会得到一个更有用的错误。