由于kombu更新导致气流工作者中断 - 异步错误

时间:2018-05-22 05:15:42

标签: airflow

基于puckel的Airflow v1.9.0 docker部署刚刚破坏了这个错误:

Traceback (most recent call last):
  File "/usr/local/bin/airflow", line 27, in <module>
    args.func(args)
  File "/usr/local/lib/python2.7/dist-packages/airflow/bin/cli.py", line 891, in worker
    worker.run(**options)
  File "/usr/local/lib/python2.7/dist-packages/celery/bin/worker.py", line 255, in run
    **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/celery/worker/worker.py", line 99, in __init__
    self.setup_instance(**self.prepare_args(**kwargs))
  File "/usr/local/lib/python2.7/dist-packages/celery/worker/worker.py", line 122, in setup_instance
    self.should_use_eventloop() if use_eventloop is None
  File "/usr/local/lib/python2.7/dist-packages/celery/worker/worker.py", line 241, in should_use_eventloop
    self._conninfo.transport.implements.async and
  File "/usr/local/lib/python2.7/dist-packages/kombu/transport/base.py", line 125, in __getattr__
    raise AttributeError(key)
AttributeError: async

2 个答案:

答案 0 :(得分:3)

与刚报告kombu从4.1.0更新到4.2.0的Celery AttributeError: async error错误有关。我通过切换下面的安装顺序修复了它:

&& pip install kombu==4.1.0 \
&& pip install celery[redis]==4.0.2 \
&& pip install apache-airflow[crypto,celery,postgres,hive,jdbc,mysql,s3]==$AIRFLOW_VERSION \

好像kombu需要在源代码中固定到这个版本......

答案 1 :(得分:2)

Cobman解决方案有效,只是仅供参考,您也可以通过升级Celery版本来修复它(正如他们在其存储库中推荐的那样)

&& pip install celery[redis]==4.1.1