想要解决程序中得耗时操作(例如:短信等耗时操作,因此想使用Celery)
1.首先创建耗时操作
def add(x,y):
import time
time.sleep(3)
return x+y
使用 time.sleep 来模拟耗时操作
之后我们就开始 来搭建Celery的基本使用方法,创建文件task文件,并且写下下列代码。
# 创建任务队列
import time
from celery import Celery
#初始化一个celery,其中如果有密码的话可以按照下列的办法
#如果redis没设置密码,可以按照这样设定"""redis://127.0.0.1:1277/0"""
celery_server = Celery("aaa",backend="redis://:yourpassd@127.0.0.1:1277/0",
broker="redis://:yourpassd@127.0.0.1:1277/0"
)
#为函数加上Celery标识
@celery_server.task
def sendMail(email):
print("开始发送邮箱" + email)
time.sleep(3)
print("发送邮件成功")
接下来我们开始使用 sendMail()这个函数,创建一个新的文件
from task import sendMail
sendMail.delay("123123123")
由于本人使用的WIN7,进行测试,之后我们在当前目录(也就是自己task所在目录)命令行里启动Celery,
celery -A task.celery_server worker
#其中只根据自己不同的文件来更改 命令行: 其中上述 task 为自己的目录中的task.py文件,celery_server 为自己创建的celery对象,由于本人的是celery_sever 因此就是task.celery_server
之后运行成功的样子如下:
其中红色部分为本人的redis服务器,划红线隐藏了
接下来我们来运行耗时操作
当我们运行耗时操纵之后,在刚才启动的celery的命令行里 会出现:
到目前为止就已经成功了!