1. 报错信息
1.
def _connparams(self, async=False, _r210_options=( ^ SyntaxError: invalid syntax
原因: async 在 python3.7已经是关键字了,但是celery4.4.6版本没有更新导致的。此问题将在下一个版本修复。
解决办法: 将celery文件中的async命名为其他变量名/ 或者降低python版本3.7之下的
2.
from kombu.async.timer import Entry, Timer as Schedule, to_timestamp, logger ^ SyntaxError: invalid synta
同上
3. 启动worker 后执行task报错
tasks, accept, hostname = _loc ValueError: not enough values to unpack (expected 3, got 0)
解决办法:在win10环境下运行celery4.x会出现此问题。先通过pip install eventlet
安装eventlet,然后启动worker时添加一个参数:
celery worker <module> worker -l INFO -P eventlet
4. 使用redis作为borker时
ERROR/MainProcess] Unrecoverable error: AttributeError("'str' object has no attribute 'items'",)-bug
原因: redis版本过高当时redis版本是3.5.3
解决办法:降低redis版本到2.10.6