zoukankan      html  css  js  c++  java
  • celery接收到任务后出现错误,ValueError: not enough values to unpack (expected 3, got 0)

    (env) D:python_learnmeiduo_projectmeiduo_mall>celery -A celery_tasks.main worker -l info
    
     -------------- celery@CZZI-BBMGSW v4.4.6 (cliffs)
    --- ***** -----
    -- ******* ---- Windows-7-6.1.7601-SP1 2020-07-18 23:06:20
    - *** --- * ---
    - ** ---------- [config]
    - ** ---------- .> app:         meiduo:0x3676250
    - ** ---------- .> transport:   amqp://admin:**@192.168.2.155:5672//
    - ** ---------- .> results:     disabled://
    - *** --- * --- .> concurrency: 4 (prefork)
    -- ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker)
    --- ***** -----
     -------------- [queues]
                    .> celery           exchange=celery(direct) key=celery
    
    
    [tasks]
      . ccp_send_sms_code
    
    [2020-07-18 23:06:21,241: INFO/MainProcess] Connected to amqp://admin:**@192.168.2.155:5672//
    [2020-07-18 23:06:21,257: INFO/MainProcess] mingle: searching for neighbors
    [2020-07-18 23:06:21,422: INFO/SpawnPoolWorker-1] child process 14532 calling self.run()
    [2020-07-18 23:06:21,422: INFO/SpawnPoolWorker-2] child process 16500 calling self.run()
    [2020-07-18 23:06:21,462: INFO/SpawnPoolWorker-3] child process 9492 calling self.run()
    [2020-07-18 23:06:21,613: INFO/SpawnPoolWorker-4] child process 7784 calling self.run()
    [2020-07-18 23:06:22,318: INFO/MainProcess] mingle: all alone
    [2020-07-18 23:06:22,374: INFO/MainProcess] celery@CZZI-BBMGSW ready.
    [2020-07-18 23:08:42,415: INFO/MainProcess] Received task: ccp_send_sms_code[9dc4d018-b1fb-45e0-b395-89ba2b952146]
    [2020-07-18 23:08:42,448: ERROR/MainProcess] Task handler raised error: ValueError('not enough values to unpack (expected 3, got 0)')
    Traceback (most recent call last):
      File "d:python_learnmeiduo_projectenvlibsite-packagesilliardpool.py", line 362, in workloop
        result = (True, prepare_result(fun(*args, **kwargs)))
      File "d:python_learnmeiduo_projectenvlibsite-packagesceleryapp	race.py", line 600, in _fast_trace_task
        tasks, accept, hostname = _loc
    ValueError: not enough values to unpack (expected 3, got 0)

    celery 4.x 对windows的支持并不是那么好。所以我们需要做一些额外的工作。

    方法一:

    添加--pool=solo参数

    celery -A celery_tasks.main worker --pool=solo -l log

    方法二: 

    安装一个gevent

    pip install gevent

    再次启动celery执行任务:

    celery -A celery_tasks.main worker -l info -P gevent

    问题解决

  • 相关阅读:
    1052: 最大报销额
    1036: 小希的数表
    1050: 找出直系亲属
    1048: 导弹防御系统
    1051: 魔咒词典
    以大数据眼光欣赏唐人文墨(一)
    Java 内部类详解
    那些“不务正业”的IT培训公司
    Brackets 前端编辑器试用
    Emmet 快速编写html代码
  • 原文地址:https://www.cnblogs.com/sewen-H/p/13338198.html
Copyright © 2011-2022 走看看