气流调度程序抛出错误-'DisabledBackend'对象没有属性'_get_task_meta_for'

时间:2019-01-10 17:44:23

标签: celery airflow airflow-scheduler

我试图在WSL中安装气流(分布式模式),我安装了气流Web服务器,气流调度程序,气流工作程序,芹菜(3.1)和RabbitMQ。 在运行Airflow Scheduler时,即使设置了后端,它也会抛出此错误(如下)。

错误

回溯(最近通话最近):   文件“ /usr/local/lib/python3.6/dist-packages/airflow/executors/celery_executor.py”,第92行,同步     状态= task.state   文件“ /usr/local/lib/python3.6/dist-packages/celery/result.py”,第398行,状态为     返回self._get_task_meta()['状态']   _get_task_meta中的文件“ /usr/local/lib/python3.6/dist-packages/celery/result.py”,第341行     返回self._maybe_set_cache(self.backend.get_task_meta(self.id))   get_task_meta中的第288行的文件“ /usr/local/lib/python3.6/dist-packages/celery/backends/base.py”     meta = self._get_task_meta_for(task_id) AttributeError:“ DisabledBackend”对象没有属性“ _get_task_meta_for”

https://issues.apache.org/jira/browse/AIRFLOW-1840

这是我遇到的确切错误,但找不到解决方案。

结果后端-

result_backend = db + postgresql:// postgres:**** @ localhost:5432 / postgres

broker_url = amqp:// rabbitmq_user_name:rabbitmq_password @ localhost / rabbitmq_virtual_host_name

请帮助,浏览了几乎所有文档,但找不到解决方案

1 个答案:

答案 0 :(得分:0)

我在celery版本上遇到了相同的问题-3.1.26.post2(带有rabitmq,postgresql和airflow),此问题的原因是<item android:id="@+id/search_toolbar_main" android:icon="@drawable/ic_search_black_24dp" app:showAsAction="always|collapseActionView" app:actionViewClass="androidx.appcompat.widget.SearchView" android:title="Search" /> 中使用的字典 不会捕获密钥celery base.py file at(lib/python3.5/site-packages/celery/app/base.py)上的芹菜后端,而是捕获了密钥CELERY_RESULT_BACKEND上的芹菜后端。

所以这里的解决方法是转到result_backend,在返回字典s之前,在函数末尾添加以下代码。

_get_config function available in base.py file at(lib/python3.5/site-packages/celery/app/base.py)

这解决了问题。