Celery异步任务
Posted zc2018
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Celery异步任务相关的知识,希望对你有一定的参考价值。
在实际开发过程中,会遇到很多耗时操作,这时如果不采取措施,程序会进入到阻塞状态,直到耗时任务完成,为了保证整个项目的流畅性,通常会对这些耗时任务进行异步操作,具体步骤如下:
1.创建celery_tasks用于保存celery异步任务
2.在celery_tasks目录下创建config.py文件,用于保存celery的配置信息
broker_url = "redis://127.0.0.1/14"
3.在celery_tasks目录下创建main.py文件,用于作为celery的启动文件
from celery import Celery # 为celery使用django配置文件进行设置 import os if not os.getenv(‘DJANGO_SETTINGS_MODULE‘): os.environ[‘DJANGO_SETTINGS_MODULE‘] = ‘xxx.settings.dev‘ # 创建celery应用 app = Celery(‘xxx‘) # 导入celery配置 app.config_from_object(‘celery_tasks.config‘) # 自动注册celery任务 app.autodiscover_tasks([‘celery_tasks.xxx‘])
4.在celery_tasks目录下创建xxx任务目录,用于放置部署任务的异步任务相关代码。
5.在celery_tasks/xxx/目录下创建tasks.py文件,用于保存部署任务的异步任务
6.用装饰器装饰异步任务:
@app.task(name=‘起别名‘)
7.在需要执行异步任务的地方导入异步任务,并使用 异步任务名.delay()执行
以上是关于Celery异步任务的主要内容,如果未能解决你的问题,请参考以下文章