1、文件夹结构
2、配置_init_.py
"""
celery初始化
"""
from celery import Celery
celery_app = Celery('mycelery')
# # 读取celery配置
celery_app.config_from_object('celery_task.config')
3、配置config文件
"""
celery 配置
"""
BROKER_URL = 'redis://xx.xx.xx.xx:6379/11'
CELERY_RESULT_BACKEND = 'redis://xx.xx.xx.xx:6379/12'
# 时区
CELERY_TIMEZONE = 'Asia/Shanghai'
# 导入指定的任务模块
CELERY_IMPORTS = (
'celery_task.tasks'
)
4、添加任务
"""
创建异步任务
"""
from celery_task import celery_app
# @app.task 指定将这个函数的执行交给celery异步执行
@celery_app.task
def test(x, y):
time.sleep(15)
return x + y
5、启动celery服务
celery -A celery_task worker -l info -P eventlet
由于是在windows下进行测试,需要通过-P eventlet来执行异步任务
6、调用异步任务
使用delay启动异步任务,不用delay,则为普通的方法,不会执行异步
task_id = test.delay(10, 10)
这里会返回一个异步任务的结果id,可以通过这个id,在结果队列中查看结果
7、在队列中查看结果
这里使用的redis,所以在redis中查看结果