码迷,mamicode.com
首页 > 其他好文 > 详细

学习celery时遇到的坑

时间:2020-07-10 13:21:34      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:更新   ram   try   通过   param   task   解决办法   process   报错信息   

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时遇到的坑

标签:更新   ram   try   通过   param   task   解决办法   process   报错信息   

原文地址:https://www.cnblogs.com/miss103/p/13275550.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!