在学习celery的时候, 需要用到celery异步处理库
在使用这个库运行的时候,突然报了这个错误
检查了代码都是最简单的参数
import celery
import time
backend = 'redis://127.0.0.1:6379/1'
broker = 'redis://127.0.0.1:6379/2'
cel = celery.Celery('test', backend=backend, broker=broker)
@cel.task
def send_email(name):
print("向%s发送邮件..." %name)
time.sleep(5)
print("向%s发送邮件完成" %name)
return "ok"
@cel.task
def send_msg(name):
print("向%s发送短信..." %name)
time.sleep(5)
print("向%s发送短信完成" %name)
return "ok"
from celery_task import send_email, send_msg
result = send_email.delay("yuan")
print(result.id)
result = send_msg.delay("yuan")
print(result.id)
解决方法如下:
1、先在电脑上,pip安装这个库
pip install eventlet
2. 然后启动celery的时候加多一个 eventlet 的参数
celery -A <mymodule> worker -l info -P eventlet
3、关掉服务重新运行下
重启一下生产者就OK了