Django—Celery

  • 安装


    Celery 是⼀个 基于python开发的异步任务队列/基于分布式消息传递的作业队列
    安装
    pip install celery
    pip install celery-with-redis
    #django-celery-results库基于 Django ORM实现了结果存储后端
    pip install django-celery-results
    
    
    settings.py
    ALLOWED_HOSTS = ['*']
    INSTALLED_APPS = (
     ...
     'celery',
     'django_celery_results', #把 django_celery_results 加到
    INSTALLED_APPS 中
     '⾃⼰的APP'
     }
    BROKER_URL='redis://localhost:6379/5'
    CELERY_RESULT_BACKEND = 'django-db'
    CELERY_TASK_SERIALIZER = 'json' # 任务序列化和反序列化使⽤
    json
    CELERY_RESULT_SERIALIZER = 'json' # 结果序列化为json
    在settings.py同级⽬录下的init.py加⼊
    from __future__ import absolute_import
    from .celery import app as celery_app
  • 配置


    创建celery实例
    在settings.py的同级⽬录下新建celery.py
    
    from __future__ import absolute_import #绝对路径导⼊
    from celery import Celery
    from django.conf import settings
    import os
    #设置系统的环境配置⽤的是Django的
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "⼯程名字.settings")
    #实例化celery
    app = Celery('mycelery')
    app.conf.timezone = "Asia/Shanghai"
    #指定celery的配置来源 ⽤的是项⽬的配置⽂件settings.py
    app.config_from_object("django.conf:settings")
    #让celery ⾃动去发现我们的任务(task)
    app.autodiscover_tasks() #你需要在app⽬录下 新建⼀个叫tasks.py(⼀定不要
    写错)⽂件
发布了199 篇原创文章 · 获赞 6 · 访问量 2427

猜你喜欢

转载自blog.csdn.net/piduocheng0577/article/details/105032708
今日推荐