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

编程入门 行业动态 更新时间:2024-10-23 14:28:12

windows7 x64 下使用<a href=https://www.elefans.com/category/jswz/34/1760327.html style=Celery not enough values to unpack (expected"/>

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)的解决方案
参考文章来源:

背景: 学习使用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 osos.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

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

更多推荐

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

本文发布于:2024-02-11 03:49:16,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1678969.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:Celery   expected   unpack   values

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!