码迷,mamicode.com
首页 > 其他好文 > 详细

Celery异步任务

时间:2018-07-05 00:43:36      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:装饰器   导入   操作   地方   遇到   异步   nbsp   obj   auto   

  在实际开发过程中,会遇到很多耗时操作,这时如果不采取措施,程序会进入到阻塞状态,直到耗时任务完成,为了保证整个项目的流畅性,通常会对这些耗时任务进行异步操作,具体步骤如下:

  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异步任务

标签:装饰器   导入   操作   地方   遇到   异步   nbsp   obj   auto   

原文地址:https://www.cnblogs.com/zc2018/p/9266024.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!