首页 > 其他分享 >django集成celery

django集成celery

时间:2023-10-04 12:13:33浏览次数:33  
标签:集成 tasks settings app py django celery

参考:

https://docs.celeryq.dev/en/stable/django/first-steps-with-django.html#django-first-steps

这里只记录一些要注意的地方

1、celery主文件

import os

from celery import Celery

# Set the default Django settings module for the 'celery' program.
# 这个是导入django环境的
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'proj.settings')

# celery app实例
app = Celery('proj')


# - namespace='CELERY' 指定namespace,
# 如果给定了,表示celery相关配置属性格式变成:namespance_celery属性(必须全部大写),比如:原来叫broker_url,变成CELERY_BROKER_URL
# 使用ns可以避免与django中的其他配置选项名冲突的问题。
# 另外:
# celery的配置可以直接写在django的settings.py中,也可以自己去指定配置文件,如下面:
# 从django settings中读取:
# app.config_from_object('django.conf:settings', namespace='CELERY')
# 从自定的py文件中读取:
app.config_from_object("celery_tasks.config")

# Load task modules from all registered Django apps.
# 默认celery会自动去子应用下找tasks.py并加载定义的任务,你也可以自己手动传递告诉它去哪里找tasks.py
# app.autodiscover_tasks()
app.autodiscover_tasks([
    "celery_tasks.sms",
    "celery_tasks.email",
    "celery_tasks.generate_index",
    "celery_tasks.generate_detail",
    "apps.users.celery_test"
])

项目__init__.py

# 这个必须导入,除非你不用shared_task装饰器。
# shared_task装饰器可以免除掉你在其他地方使用celery app时还需要导包的问题,就是类似flask的current_app这个作用。
from celery_tasks.main import app as celery_app
# This will make sure the app is always imported when
# Django starts so that shared_task will use this app.

__all__ = ('celery_app',)

标签:集成,tasks,settings,app,py,django,celery
From: https://www.cnblogs.com/juelian/p/17742096.html

相关文章

  • Celery架构和主要模块
    **任务模块**包含异步任务和定时任务。其中,异步任务通常在业务逻辑中被触发并发往任务队列,而定时任务由CeleryBeat进程周期性地将任务发往任务队列。**消息中间件Broker**Broker,即为任务调度队列,接收任务生产者发来的消息(即任务),将任务存入队列。Celery本身不提供......
  • Celery周期性任务定义beat
    通过celerybeat可以使用周期性任务的定义。https://docs.celeryq.dev/en/stable/userguide/periodic-tasks.html周期性任务beat相关设置:https://docs.celeryq.dev/en/stable/userguide/configuration.html#std-setting-beat_schedule您必须确保一次只运行一个beat调度程序,否......
  • django-celery-results - 使用 Django ORM/Cache 作为结果后端
    https://docs.celeryq.dev/en/stable/django/first-steps-with-django.html#django-celery-results-using-the-django-orm-cache-as-a-result-backend这个一般自己设置一下result_backend也行,要用django-celery-results也是一个选择。......
  • django-celery-beat插件使用
    该插件从Django管理界面管理celery的定期任务,您可以在其中动态****创建、编辑和删除定期任务以及它们的运行频率。django-celery-beat提供了几种添加定时或周期性任务的方式,预先在在settings.py中添加好定时任务。通过Djangoadmin后台动态添加。(实际上就是操作model模型类)......
  • flower插件-监视celery
    安装和使用:https://flower.readthedocs.io/en/latest/install.html#installationhttps://github.com/mher/flower/tree/master/examplescelery相关配置:#发送与任务相关的事件,以便可以使用flower之类的工具来监控任务#或者在启动worker服务时,使用-E参数。worker_send_task_......
  • VMware ESXi 7.0 U3o macOS Unlocker & OEM BIOS 集成网卡驱动和 NVMe 驱动 (集成驱动
    VMwareESXi7.0U3omacOSUnlocker&OEMBIOS集成网卡驱动和NVMe驱动(集成驱动版)ESXi7U3标准版集成Intel网卡、RealtekUSB网卡和NVMe驱动请访问原文链接:https://sysin.org/blog/vmware-esxi-7-u3-sysin/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.o......
  • 《DjangoApp开发》第二集,创建项目骨架、主菜单页面及跳转
    2023年10月3日这节课做的事情创建项目目录对项目进行全局时间、配置创建项目骨架,配置一堆文件写主页面切换页面项目结构。当我们发现代码很长的时候就分成多个子目录菜单界面对战界面玩家玩家的技能玩家的每一个技能玩家的移动背景时间设置界......
  • 《DjangoApp开发》第一集——配置环境及项目创建
    2023年10月2日前言今天中午、下午都出去了。晚上回来看看。上午实现了本地局域网的Linux配置。里面的Django学习内容全来自,Acwing的Django工程课。目录——实现内容Ubuntu本地局域网配置ssh配置Docker配置Acwing的镜像、用户创建项目、预览项目设置vim无法写入中文解决......
  • CI/CD:实现持续集成与持续交付的完整指南
    ......
  • aws awswrangler 集成minio 简单试用
    awsawswrangler现在已经改名为aws-sdk-pandas,但是对于python使用的时候安装已经是使用awswrangler名称以下是一个简单的集成minio的测试,核心是配置环境变量,这个也比较符合aws对于相关资源的集成玩法环境准备docker-compose文件 version:'3'services......