Celery初使用报错:ValueError not enough values to unpack (expected 3, got 0)

分类: Python 作者: 浏览:35 时间:2019年5月14日 00:35 评论:0

在我初步使用celery时,出现了问题,在这记录自己碰到的问题,
我所使用的的开发环境
系统, 编辑工具,
1. windows 764位
2. PyCharm 2018.3.2 (Professional Edition)
3. Celery 4.3.0

执行简单的任务队列时报错

Traceback (most recent call last):  
  File "d:\python37\lib\site-packages\billiard\pool.py", line 358, in workloop  
    result = (True, prepare_result(fun(*args, **kwargs)))  
  File "d:\python37\lib\site-packages\celery\app\trace.py", line 544, in _fast_trace_task  
    tasks, accept, hostname = _loc  
ValueError: not enough values to unpack (expected 3, got 0)  

解决办法:
1 安装eventlet

pip install eventlet  

执行celery命令时
celery -A yours-module worker -l INFO -P eventlet

2 切换celery4.x+celery3.1.24

pip uninstall celery4.x+  
pip install celery==3.1.24  

3 在创建Celery实例之前设置FORKED_BY_MULTIPROCESSING

import os  
os.environ.setdefault("FORKED_BY_MULTIPROCESSING","1")  
app = Celery("celery_name")  

celery4.x+已经不支持windows,如果想在windows上使用上面2种办法,原文来自CSDN作者地址

github中的celery项目中的issues上也有提到

赞(0)

评论(0)

  • 暂无评论