说起这个celery简直就是个大坑,Django中用的时候害我搞了一个星期,虽然是边玩边搞的,但是不妨碍我这么评价他,flask的时候又让我搞了差不多一天
我写的python项目都是在windows7上写的,使用的包也都是最新的,没有什么降版本直说,那些说celery4.0以后都不支持在windows上用的人我不知道依据是什么
我的celery是4.2.1版本的,python是3.7最新版本的,redis是2.10.6版本的,之前写Django项目的时候降的,因为3.1版本的和celery4.0以后的不兼容,有用Django遇到错误的可以看 我的另一篇文章https://blog.youkuaiyun.com/qq_20681909/article/details/84848137
这里就说说我在flask中遇到的坑吧,本来很简单的用法就是,但是在我的项目中就是那么多事
新建一个tasks.py文件
from celery import Celery
from ihome.libs.yuntongxun.sms import CCP
#定义celery对象
# celery_app=Celery("ihome",broker="redis;//127.0.0.1:6379/1") #最初的写法
celery_app=Celery("ihome") # 后来改的
celery_app.conf.broker_url = 'redis://127.0.0.1:6379/1'
@celery_app.task
def send_sms(mobile,datas,temp_id):
print("进入任务")
ccp=CCP()
#由于有效期是分钟,所以需要把秒转换为分钟
result=ccp.sendTemplateSMS(mobile,datas,temp_id)
if result==0: