windows7 x64 下使用Celery not enough values to unpack (expected

Celery ValueError: not enough values to unpack (expected 3, got 0)的解决方案
windows7 x64 下使用Celery

Celery ValueError: not enough values to unpack (expected 3, got 0)的解决方案
参考文章来源:https://blog.csdn.net/qq_30242609/article/details/79047660

背景: 学习使用celery,环境如下:

本地环境如下:

Windows 7 x64
Python 3.6
Celery 4.3
Celery-with-redis
Django 1.11.11
Django-redis 4.10.0

必须安装: pip install eventlet

直接上代码
main.py 代码

from celery import Celery
import os

os.environ["DJANGO_SETTINGS_MODULE"] = "*****.settings_dev"  #引入你项目的环境地址
app = Celery('tasks', broker='redis://192.168.133.128:6379/4', ) #必须写 tasks, broker是连接的数据库,此处为 redis
# app.config_from_object('celery_tasks.config') #此处,可选
app.autodiscover_tasks([
    'celery_tasks.sms'#你task.py里的执行函数名
])

task.py 文件的代码

from celery_tasks.main import app
@app.task(bind=True, name='send_sms', retry_backoff=3, )
def send_sms(self, mobile, sms_code):
    print("qqqqq", self) #查看一下   
    print("++++++++++++++++++")#标记一下
    print(mobile, sms_code) #打印一下收到的参数,,如果上面的能正确输出 ,,后面可以写你自己的代码了

调用函数代码

send_sms.delay(mobile=mobile, sms_code=sms_code)#mobile,sms_code 为传去的参数,建议使用这样的方式去传。

以上准备完成后,在终端上进入项目目录,执行命令:

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

结果如下:

>>>>celery -A celery_tasks.main worker -l info -P eventlet

 -------------- celery@x201t-PC v4.3.0 (rhubarb)
---- **** -----
--- * ***  * -- Windows-7-6.1.7601-SP1 2019-05-26 10:18:36
-- * - **** ---
- ** ---------- [config]
- ** ---------- .> app:         tasks:0x45b7588
- ** ---------- .> transport:   redis://192.168.133.128:6379/4
- ** ---------- .> results:     disabled://
- *** --- * --- .> concurrency: 4 (eventlet)
-- ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker)
--- ***** -----
 -------------- [queues]
                .> celery           exchange=celery(direct) key=celery


[tasks]
  . send_sms

[2019-05-26 10:18:36,594: INFO/MainProcess] Connected to redis://192.168.133.128:6379/4
[2019-05-26 10:18:36,610: INFO/MainProcess] mingle: searching for neighbors
[2019-05-26 10:18:37,648: INFO/MainProcess] mingle: all alone
[2019-05-26 10:18:37,659: WARNING/MainProcess] c:\users\administrator\envs\meiduo_mall\lib\sit
e-packages\celery\fixups\django.py:202: UserWarning: Using settings.DEBUG leads to a memory le
ak, never use this setting in production environments!
  warnings.warn('Using settings.DEBUG leads to a memory leak, never '
[2019-05-26 10:18:37,660: INFO/MainProcess] celery@x201t-PC ready.
[2019-05-26 10:18:37,675: INFO/MainProcess] pidbox: Connected to redis://192.168.133.128:6379/
4.

以上是启动成功情况,

以下是有任务,成功的输出:

[2019-05-26 10:19:06,796: INFO/MainProcess] Received task: send_sms[72ad5196-eed1-498e-99c0-a1fe703b01fa]
[2019-05-26 10:19:06,798: WARNING/MainProcess] qqqqq
[2019-05-26 10:19:06,799: WARNING/MainProcess] <@task: send_sms of tasks at 0x45b7588>
[2019-05-26 10:19:06,799: WARNING/MainProcess] ++++++++++++++++++
[2019-05-26 10:19:06,799: WARNING/MainProcess] 13455678894
[2019-05-26 10:19:06,800: WARNING/MainProcess] 017119
[2019-05-26 10:19:06,800: INFO/MainProcess] Task send_sms[72ad5196-eed1-498e-99c0-a1fe703b01fa] succeeded in 0.0160000000
00531145s: None

以上是自己并结合网络大神文章,自己试出来的。感谢各位关注!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值