celery是一个基于Python实现的模块,模块可以帮助我们实现"任务管理".
当一个请求的处理时间特别长,可以使用celery.
快速使用celery
a.创建s1.py
import time
from celery import Celery
app = Celery('tasks', broker='redis://123@123.207.56.67:6380', backend='redis://123@192.168.19.123:6379')
@app.task
def xxxxxx(x, y):
time.sleep(10)
return x + y
b.启动worker
进入当前目录
celery worker -A s1 -l info
celery worker -A s1 -l info -P eventlet (在windows下使用,不推荐在windows下使用celery)
c.创建任务
import s1
result = s1.xxxxxx.delay(88,671)
print(result.id)
d. 检查任务
import s1
from celery.result import AsyncResult
ret = AsyncResult(id='90a2a6e8-299a-41a5-9aab-4c989f45d303',app=s1.app)
if ret.successful():
data = ret.get()
print(data)
注意事项
- 解释器版本和celery版本
- windows和linux
- broker:
- redis
- rabbitMQ