学习celery时遇到的坑

Posted miss103

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习celery时遇到的坑相关的知识,希望对你有一定的参考价值。

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

以上是关于学习celery时遇到的坑的主要内容,如果未能解决你的问题,请参考以下文章

celery相关问题

如何用ffmpeg截取视频片段&截取时间不准确的坑

我在使用 Celery、Redis 和 Django 时遇到问题

Blender制作多个动画片段时踩的坑

Maven学习遇到的坑

hadoop学习笔记以及遇到的坑整理(长期更新)