首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏卓越笔记

    Django + djcelery + redis 执行异步任务

    object has no attribute 'items',详情) 安装 django-celery pip install django-celery 配置 settings.py import djcelery # 添加 djcelery APP INSTALLED_APPS = [ # ... () # 加载 djcelery # # 注意,celery4 版本后,CELERY_BROKER_URL 改为 BROKER_URL BROKER_URL = 'redis://127.0.0.1: 6379/0' # Broker 使用 Redis, 使用0数据库(暂时不是很清楚原理) # CELERYBEAT_SCHEDULER = 'djcelery.schedulers.DatabaseScheduler 12-15 16:39:57,847: WARNING/MainProcess] /Users/yinzhuoqun/.pyenv/joyoo/lib/python3.6/site-packages/djcelery

    61720编辑于 2023-02-18
  • 来自专栏Coxhuang

    django2 django-celery djcelery beat task 循环任务

    'djcelery', 'app', ] 在末尾加上 import djcelery from celery.schedules import crontab djcelery.setup_loader 进入数据库 找到djcelery_periodictask这个表 djcelery_periodictask这个表就是存放任务的列表,把不想继续执行的任务删除即可 ?

    1K10发布于 2020-11-09
  • 来自专栏python3

    Celery 3 版本 定时执行与 异

    INSTALLED_APPS = [ 'djcelery', 'kombu', ] djcelery.setup_loader() BROKER_URL = 'redis://127.0.0.1 :6379/0' #消息存储数据存储在仓库0 CELERY_RESULT_BACKEND = 'djcelery.backends.database:DatabaseBackend' # 指定 Backend * | djcelery_intervalschedule * | djcelery_periodictask * | djcelery_periodictasks * | djcelery_taskstate ##django后台执行的定时任务,会将结果写到这个表里 * | djcelery_workerstate from djcelery.models import TaskMeta,TaskState ##这样获取表 ?

    77020发布于 2020-01-07
  • 来自专栏编程黑洞

    django celery 结合使用

    本文使用djcelery来完成django和celery的结合使用。 使用djcelery可以将定时任务写入到数据库中,然后通过操作数据库操作定时任务。 /settings.py import djcelery djcelery.setup_loader() # 加载djcelery # 允许的格式 CELERY_ACCEPT_CONTENT = [ ' # 定时任务使用数据库来操作 CELERY_RESULT_BACKEND = 'djcelery.backends.database:DatabaseBackend' # 结果存储到数据库中 # r}'.format(self.request)) # 异步执行这个task debug_task.delay() 创建djcelery中的表 会自动创建djcelery中的表。

    1.3K20编辑于 2023-03-06
  • 来自专栏python3

    python celery 模块

    消息队列可以使用RabbitMQ、Redis 等 3.安装django-celery pip install celery django-celery 4.配置settings.py import djcelery djcelery.setup_loader() BROKER_URL = 'django://' # 使用django做broker CELERYBEAT_SCHEDULER = 'djcelery.schedulers.DatabaseScheduler CELERY_RESULT_BACKEND = 'djcelery.backends.database:DatabaseBackend' # 需要跟踪任务的状态时保存结果和状态 CELERY_ENABLE_UTC CELERY_TASK_SERIALIZER = 'json' CELERY_RESULT_SERIALIZER = 'json' CELERY_IGNORE_RESULT = True INSTALLED_APPS = [ 'djcelery ',# 新增 'kombu.transport.django', # 新增kombu.transport.django则是基于Django的broker ] 其中,当djcelery.setup_loader

    1.4K40发布于 2020-01-09
  • 来自专栏从零开始学自动化测试

    python测试开发django-161.Celery 定时任务保存到数据库 (djcelery)

    前言 接着前面Celery 定时任务,这篇使用Celery + djcelery 把定时任务存到数据库。 Celery的使用方式有两种: Celery 只用Celery,本身自带worker 和 beat (定时任务)功能,定时任务在setting配置 Celery + djcelery 使用了djcelery 多安装一个 djcelery 主要是把定时任务放到数据库中,方便配置和管理。 'djcelery' ] 同步数据库 python manage.py makemigrations python manage.py migrate 执行完成后会看到djcelery相关的几张表 CELERY 配置 在setting.py 添加CELERY 相关配置 import djcelery djcelery.setup_loader() CELERY_TASK_SERIALIZER =

    1.3K10发布于 2021-11-05
  • 来自专栏DBA随笔

    异步任务队列Celery在Django中的应用

    settings.py文件 每一个Django工程下面,都有一个settings文件,为了在Django中配置celery,必须对这个文件进行一定的配置,我这里配置的结果如下: import os import djcelery BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) ''' celery config ''' djcelery.setup_loader django.contrib.messages', 'django.contrib.staticfiles', 'OpsManage', 'rest_framework', 'djcelery ',# 这里增加了djcelery 也就是为了在django admin里面可一直接配置和查看celery 'Restful', 'wiki', 'rest_framework.authtoken ', ) 对于每一项参数,里面都有少量的解释,最后32行的installed_apps是指目前已经安装的app,配置好了这些参数,当djcelery.setup_loader()运行时,Celery

    4.2K10发布于 2019-11-06
  • 来自专栏扎心了老铁

    django celery的分布式异步之路(一) 起步

    1)修改kangaroo/settings.py文件 让djcelery模块生效 import os import djcelery djcelery.setup_loader() ... 'djcelery', 'kombu.transport.django', ... ) 配置broker和backend # Celery settings # redis做broker import os import djcelery djcelery.setup_loader() ... INSTALLED_APPS = ( ... 'djcelery', 'kombu.transport.django', ... 'foot', ... ) 当settings.py中的djcelery.setup_loader()运行时, Celery便会查看所有INSTALLED_APPS中app目录中的tasks.py

    2.6K60发布于 2018-03-05
  • 来自专栏程序员同行者

    Django项目中使用celery做异步任务

    ' # celery app 很强大 ] 添加Celery全局配置(settings文件中) # Celery import djcelery djcelery.setup_loader() # 加载 djcelery CELERY_TIMEZONE = TIME_ZONE CELERY_ENABLE_UTC = True # 允许的格式 CELERY_ACCEPT_CONTENT = ['pickle djcelery app提供了定时任务的功能,注册并同步到数据库之后,会生产五个表,结构如下: MariaDB [test002]> show tables -> ; +----------- | | djcelery_intervalschedule | | djcelery_periodictask | | djcelery_periodictasks | | djcelery_taskstate | | djcelery_workerstate | +---------------------------+ 在django后台可以看到注册的表 ?

    1.8K10发布于 2018-09-27
  • 来自专栏idba

    ZanDB基于Celery定时任务的二次开发

    同时,Celery还支持通过djcelery将period task 保存到数据库里面,实现任务的动态新增,编辑和删除,非常符合我们的需求,因此我们打算将djcelery引入进行相应的改造。 一、任务系统代码实现 1.下载djcelery的源代码 首先下载djcelery的源代码,作为django的一个app git@github.com:celery/django-celery.git 'djcelery', 'schedule_v2' ... ] 2.改造models 新增一个period task的group。 3.改造DatabaseScheduler djcelery 通过数据库获取任务的类是 CELERYBEAT_SCHEDULER = 'djcelery.schedulers.DatabaseScheduler djcelery/schedulers.py 改造的目的: 如果group已经被禁用了,那么该group下的的所有Period Task自然需要被禁用; 将group 的args 和 kwargs 添加到

    1K20发布于 2018-08-09
  • 来自专栏菲宇

    Django中Celery的使用(二)

    配置Djcelery 主要步骤 在settings配置相关参数 定义任务 执行任务,可以在程序中调用执行,也可交给后台周期性执行 1) Django项目的settings模块配置 1 2 ', # 添加djcelery 'frame', 'rest_framework', 'monitor_agent', 'monitor_master 28 29 30 31 32 33 34 35 36 37 38 39 # celery import djcelery djcelery.setup_loader() CELERY_IMPORTS = ('monitor_agent.my_celery.tasks', ) # 任务定义所在的模块 或者自己导入from djcelery import models as celery_models,通过它提供的Model Query API来操作,同平常的数据库查询一样。

    1.7K30发布于 2019-06-11
  • 来自专栏卓越笔记

    HttpRunnerManager 接口自动化测试平台 搭建实践

    unicode_literals import os # Build paths inside the project like this: os.path.join(BASE_DIR, ...) import djcelery django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'ApiManager', 'djcelery django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder' ) SESSION_COOKIE_AGE = 300 * 60 djcelery.setup_loader 192.168.91.45:5672//' if DEBUG else 'amqp://guest:guest@192.168.1.254:5672//' CELERYBEAT_SCHEDULER = 'djcelery.schedulers.DatabaseScheduler ' CELERY_RESULT_BACKEND = 'djcelery.backends.database:DatabaseBackend' CELERY_ACCEPT_CONTENT = ['application

    68810编辑于 2023-02-17
  • 来自专栏测试开发社区

    Django+Celery框架自动化定时任务开发

    加入1: import djcelery djcelery.setup_loader() #加载djcelery 加入2: #数据库调度 CELERYBEAT_SCHEDULER ='djcelery.schedulers.DatabaseScheduler /admin/djcelery/periodictask/{{task.id }}/change/? /admin/djcelery/periodictask/{{ task.id}}/delete/? /admin/djcelery/periodictask/{{task.id }}/change/? /admin/djcelery/periodictask/{{task.id }}/delete/?

    1.3K10发布于 2019-11-15
  • 来自专栏杨建荣的学习笔记

    Django Celery初识

    django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'celery_app', 'djcelery settings.py的配置如下: import djcelery djcelery.setup_loader() BROKER_URL= 'amqp://guest@localhost//' CELERY_RESULT_BACKEND django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'celery_app', 'djcelery

    1.5K70发布于 2018-03-22
  • 来自专栏刘悦的技术博客

    python3.7.2+Django2.0.4 使用django-celery遇到的那些坑

    'djcelery',   } # 末尾初始化 import djcelery djcelery.setup_loader() BROKER_URL = 'redis://127.0.0.1:6379/

    58450编辑于 2022-08-08
  • 来自专栏Lansonli技术博客

    Django celery6.4

    'djcelery', } ... import djcelery djcelery.setup_loader() BROKER_URL = 'redis://127.0.0.1:6379/0' CELERY_IMPORTS = ('应用名称

    38130发布于 2021-10-09
  • 来自专栏武军超python专栏

    异步操作Celery的实现

    "djcelery", ] 同时在setting的末尾追加: import djcelery djcelery.setup_loader() 负责将任务加入队列 BROKER_URL = 'redis

    1.1K20发布于 2019-02-25
  • 来自专栏菲宇

    Django+Django-Celery+Celery的整合实战

    ── settings.pyc │ ├── urls.py │ └── wsgi.py └── manage.py 4、修改setting.py django配置文件,增加如下: import djcelery ### djcelery.setup_loader() ### CELERY_TIMEZONE='Asia/Shanghai' #并没有北京时区,与下面TIME_ZONE应该一致 BROKER_URL 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'djcelery ', ### 加入djcelery应用 'apps1', ### 加入新创建的apps1 ) TIME_ZONE='Asia/Shanghai' ### 开头增加如上配置文件 上面代码首先导出djcelery模块,并调用setup_loader方法加载有关配置;注意配置时区,不然默认使用UTC时间会比东八区慢8个小时。

    2.5K31发布于 2019-06-13
  • 来自专栏草捏子

    分布式任务队列Celery的实践

    而在笔者的工作中使用了 djcelery 提供的数据库调度模型,通过结合 django 提供的 ORM 功能来动态设置,更为方便。 下面叙述如何实现,首先在 Celery 配置中新增: CELERYBEAT_SCHEDULER = 'djcelery.schedulers.DatabaseScheduler' 设置使用 DatabaseScheduler manage.py migrate 可以看到数据库中多出了以下表: | celery_taskmeta | | celery_tasksetmeta | | djcelery_crontabschedule | | djcelery_intervalschedule | | djcelery_periodictask | | djcelery_periodictasks | | djcelery_taskstate | | djcelery_workerstate | 完成以上操作,最后只用执行 Celery Beat 命令,则会去数据库中读取配置发起定时任务。

    2.8K20发布于 2021-11-08
  • 来自专栏Devops专栏

    Django 2.1.7 Celery 4.3.0 异步发送邮件示例

    -U Celery pip3 install django-celery==3.3.0 pip3 install "celery[librabbitmq,redis,auth,msgpack]" 安装djcelery 'djcelery', } celery_tasks包文件配置以及任务编写 创建celery_tasks的包文件,专门存放tasks.py任务脚本以及celery相关配置管理,文档结构如下: ?

    1.5K30发布于 2019-08-06
领券