前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Celery ValueError: not enough values to unpack (expected 3, got 0) 的解决方法(windows)

Celery ValueError: not enough values to unpack (expected 3, got 0) 的解决方法(windows)

作者头像
卓越笔记
发布2023-02-18 14:02:58
9710
发布2023-02-18 14:02:58
举报
文章被收录于专栏:卓越笔记

错误环境

  • windows        10
  • python           3.6
  • django           1.11
  • celery            4.3.0
  • django-celery-beat     1.5.0
  • django-celery-results  1.1.2

启动 celery 的命令

出错时启动命令:celery -A joyoo worker -l info

错误日志

代码语言:javascript
复制
(joyoo) E:\yinzhuoqun\djangos\joyoo>celery -A joyoo worker -l info
raven.contrib.django.client.DjangoClient: 2020-02-27 16:50:46,534 e:\py_virtualenv\joyoo\lib\site-packages\raven\base.py [line:213] INFO Raven is not configured (logging is disabled). Please see the documentation for more information.

 -------------- celery@DESKTOP-9K42C1Q v4.3.0 (rhubarb)
---- **** -----
--- * ***  * -- Windows-10-10.0.17763-SP0 2020-02-27 16:50:48
-- * - **** ---
- ** ---------- [config]
- ** ---------- .> app:         joyoo:0x1fe37781518
- ** ---------- .> transport:   redis://127.0.0.1:6379/0
- ** ---------- .> results:
- *** --- * --- .> concurrency: 4 (prefork)
-- ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker)
--- ***** -----
 -------------- [queues]
                .> celery           exchange=celery(direct) key=celery


[tasks]
  . blog.tasks.task_check_friend_url
  . blog.tasks.task_request_save_visit_ip
  . blog.tasks.task_save_view_page
  . blog.tasks.task_send_dd_text
  . blog.tasks.task_send_mail
  . blog.tasks.task_web_save_visit_ip

[2020-02-27 16:50:48,445: INFO/MainProcess] Connected to redis://127.0.0.1:6379/0
[2020-02-27 16:50:48,454: INFO/MainProcess] mingle: searching for neighbors
[2020-02-27 16:50:49,281: INFO/SpawnPoolWorker-1] child process 25032 calling self.run()
[2020-02-27 16:50:49,309: INFO/SpawnPoolWorker-3] child process 23116 calling self.run()
[2020-02-27 16:50:49,347: INFO/SpawnPoolWorker-4] child process 33464 calling self.run()
[2020-02-27 16:50:49,353: INFO/SpawnPoolWorker-2] child process 20572 calling self.run()
[2020-02-27 16:50:49,475: INFO/MainProcess] mingle: all alone
[2020-02-27 16:50:49,506: WARNING/MainProcess] e:\py_virtualenv\joyoo\lib\site-packages\celery\fixups\django.py:202: UserWarning: Using settings.DEBUG leads to a memory leak, never use this setting in production environments!
  warnings.warn('Using settings.DEBUG leads to a memory leak, never '
[2020-02-27 16:50:49,509: INFO/MainProcess] celery@DESKTOP-9K42C1Q ready.
raven.contrib.django.client.DjangoClient: 2020-02-27 16:50:54,303 e:\py_virtualenv\joyoo\lib\site-packages\raven\base.py [line:213] INFO Raven is not configured (logging is disabled). Please see the documentation for more information.
raven.contrib.django.client.DjangoClient: 2020-02-27 16:50:54,318 e:\py_virtualenv\joyoo\lib\site-packages\raven\base.py [line:213] INFO Raven is not configured (logging is disabled). Please see the documentation for more information.
raven.contrib.django.client.DjangoClient: 2020-02-27 16:50:54,337 e:\py_virtualenv\joyoo\lib\site-packages\raven\base.py [line:213] INFO Raven is not configured (logging is disabled). Please see the documentation for more information.
raven.contrib.django.client.DjangoClient: 2020-02-27 16:50:54,375 e:\py_virtualenv\joyoo\lib\site-packages\raven\base.py [line:213] INFO Raven is not configured (logging is disabled). Please see the documentation for more information.
[2020-02-27 16:50:59,028: INFO/MainProcess] Received task: blog.tasks.task_request_save_visit_ip[4802b66a-d2bd-4cea-83e4-aeb8898a30ff]
[2020-02-27 16:50:59,746: ERROR/MainProcess] Task handler raised error: ValueError('not enough values to unpack (expected 3, got 0)',)
Traceback (most recent call last):
  File "e:\py_virtualenv\joyoo\lib\site-packages\billiard\pool.py", line 362, in workloop
    result = (True, prepare_result(fun(*args, **kwargs)))
  File "e:\py_virtualenv\joyoo\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)

解决方法

网上检索到资料 https://github.com/celery/celery/issues/4081

1. 安装 eventlet:

代码语言:javascript
复制
(joyoo) E:\yinzhuoqun\djangos\joyoo>pip install eventlet
Requirement already satisfied: eventlet in e:\py_virtualenv\joyoo\lib\site-packages (0.25.1)
Requirement already satisfied: greenlet>=0.3 in e:\py_virtualenv\joyoo\lib\site-packages (from eventlet) (0.4.15)
Requirement already satisfied: dnspython>=1.15.0 in e:\py_virtualenv\joyoo\lib\site-packages (from eventlet) (1.16.0)
Requirement already satisfied: six>=1.10.0 in e:\py_virtualenv\joyoo\lib\site-packages (from eventlet) (1.11.0)
Requirement already satisfied: monotonic>=1.4 in e:\py_virtualenv\joyoo\lib\site-packages (from eventlet) (1.5)
WARNING: You are using pip version 19.3.1; however, version 20.0.2 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.

2. 启动 celery 的启动命令换成:

代码语言:javascript
复制
# moduleName 模块名,django 项目的话就是项目名
celery -A <moduleName> worker -l info -P eventlet
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-2-27 1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 错误环境
  • 启动 celery 的命令
  • 错误日志
  • 解决方法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档