zoukankan      html  css  js  c++  java
  • 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()执行

     
  • 相关阅读:
    NSScanner 的使用
    判断ios设备型号
    图片渲染成蓝色的问题
    UITextView使用体会
    html标签的语义化之搜索引擎优化
    如何用 Canvas绘制图形
    js的几个案例
    js的几种面向对象
    CSS3的几个基本知识点简介
    关于html和CSS的几个基本知识点
  • 原文地址:https://www.cnblogs.com/zc2018/p/9266024.html
Copyright © 2011-2022 走看看