使用django_celery_beat在admin后台配置计划任务
一、依赖包的安装
django中使用celery做异步任务和计划任务最头疼的点就是包之间版本兼容性问题,项目一启动花花报错,大概率都是版本问题。每次都会花很大时间在版本兼容性问题上。本例使用如下版本:
Django==3.2
celery==5.2.7
django-celery-beat==2.2.1
django-celery-results==2.4.0
django-redis==4.11.0
redis==3.5.3
如果是其他版本的django且有兼容性问题,推荐一个工具pipdeptree,这玩意可以清晰展示包间依赖关系和版本冲突,很方便。
二、主要配置
setting.py:
INSTALLED_APPS = ['django_celery_results','django_celery_beat',
]
tasks.py:
from itom_service.celery_app import app, logger@app.task()
def print_123(**kwargs):logger.info('开始打印')print(kwargs)
celery_app.py:
import osfrom celery.schedules import crontab
from celery.utils.log import get_logger
from django.conf import settingsfrom kombu import Queue, Exchange
from celery import Celerylogger = get_logger('celery')os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'itom_service.settings.settings')app = Celery('celery', broker=settings.CELERY_BROKER_URL, backend=settings.CELERY_RESULT_BACKEND)
app.config_from_object('django.conf:settings')
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)app.conf.update(# enable CELERY_ALWAYS_EAGER=True can debug you tasks# CELERY_ALWAYS_EAGER=True,CELERY_TASK_RESULT_EXPIRES=None, # 任务结果永不过期CELERY_TASK_SERIALIZER='json',CELERY_ACCEPT_CONTENT=['json'],CELERY_RESULT_SERIALIZER='json',CELERYD_CONCURRENCY=10,CELERYD_FORCE_EXECV=True,CELERYD_MAX_TASKS_PER_CHILD=100,CELERY_DEFAULT_QUEUE='default',CELERY_DEFAULT_ROUTING_KEY='default',CELERY_QUEUES=(Queue('default', Exchange('default'), routing_key='default'),Queue('demo_queue', Exchange('demo_queue'), routing_key='demo_queue'),),CELERY_TIMEZONE=settings.TIME_ZONE,# 关键配置:配合django_celery_beat使用,admin配置的定时任务可以被顺利执行CELERYBEAT_SCHEDULER='django_celery_beat.schedulers:DatabaseScheduler', # 这配置的计划任务会被自动同步到数据库,可以在admin后台进行编辑CELERYBEAT_SCHEDULE={# schedule1:execute tasks every five minutes(sync_host)'sync_host': {"task": "itom_service.apps.user.tasks.print_123","schedule": crontab(minute='*/1'),"args": (),"kwargs": {'key': '这是写死的定时任务'}},}
)
三、启动worker、beat
celery -A itom_service.celery_app worker -l info
celery -A itom_service.celery_app beat -l info
四、admin配置定时任务



很灵活的玩法。
相关文章:
使用django_celery_beat在admin后台配置计划任务
一、依赖包的安装 django中使用celery做异步任务和计划任务最头疼的点就是包之间版本兼容性问题,项目一启动花花报错,大概率都是版本问题。每次都会花很大时间在版本兼容性问题上。本例使用如下版本: Django3.2 celery5.2.7 django-celery-b…...
ARP协议详解
ARP协议详解 文章目录 ARP协议详解ARP协议介绍ARP抓包ARP包解析 ARP协议介绍 ARP(Address Resolution Protocol)是一种用于将网络层地址(如IP地址)转换为数据链路层地址(如MAC地址)的协议,当一…...
不同数量的预测框和Ground Truth框计算IoU
import numpy as npdef calculate_iou(boxes1, boxes2):# 转换为 numpy 数组boxes1 np.array(boxes1)boxes2 np.array(boxes2)# 扩展维度,以便广播计算boxes1 np.expand_dims(boxes1, axis1)boxes2 np.expand_dims(boxes2, axis0)# 计算两组框的交集坐标范围x_m…...
偏好强化学习概述
文章目录 为什么需要了解偏好强化学习什么是偏好强化学习基于偏好的马尔科夫决策过程(Markov decision processes with preferences,MDPP) 反馈类型分类学习算法分类近似策略分布(Approximating the Policy Distribution)比较和排序策略(Comp…...
苹果笔到底有没有必要买?苹果平板电容笔排行榜
事实上,Apple Pencil与市场上普遍存在的电容笔最大的区别,就是两者的重量以及所具有的压感都互不相同。但是,苹果原有的电容笔因其昂贵的价格而逐步被平替电容笔所替代,而平替电容笔所具备的各种性能也在逐步提高。接下来…...
learn_C_deep_6 (布尔类型、布尔与“零值“、浮点型与“零值“、指针与“零值“的比较)
目录 语句和表达式的概念 if语句的多种语法结构 注释的便捷方法(环境vs) if语句执行的过程 逻辑与&& 逻辑或|| 运算关系的顺序 else的匹配原则 C语言有没有布尔类型 C99标准 sizeof(bool)的值为多少? _Bool原码 BOOL…...
JavaScript日期库之date-fn.js
用官网的话来说,date-fn.js 就是一个现代 JavaScript 日期实用程序库,date-fns 为在浏览器和 Node.js 中操作 JavaScript 日期提供了最全面、但最简单和一致的工具集。那实际用起来像它说的那么神奇呢,下面就一起来看看吧。 安装 安装的话就…...
五一假期出游攻略【诗与远方】
原文在:PUSDN 可以导入作为模板引用。 五一旅行计划 假期倒计时 [该类型的内容暂不支持下载] 本次目标:五一旅行计划【画饼版】 前言 任何一个地方,一个城市,都有可观赏的地方,如果没去过邢台的,建议五一去…...
怎样正确做web应用的压力测试?
web应用,通俗来讲就是一个网站,主要依托于浏览器实现其功能。 提到压力测试,我们想到的是服务端压力测试,其实这是片面的,完整的压力测试包含服务端压力测试和前端压力测试。 下文将从以下几部分内容展开:…...
Hibernate的持久化类
Hibernate是一个开源的ORM(对象关系映射)框架,用于将Java程序中的对象映射到数据库中的关系型数据。在Hibernate中,持久化类是用来映射Java对象和关系型数据库表的类。 编写Hibernate持久化类需要遵循以下规则: 持久…...
【c语言】enum枚举类型的定义格式 | 基本用法
创作不易,本篇文章如果帮助到了你,还请点赞支持一下♡>𖥦<)!! 主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步! 给大家跳段街舞感谢支持!ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ…...
Python数据挖掘与机器学习
近年来,Python编程语言受到越来越多科研人员的喜爱,在多个编程语言排行榜中持续夺冠。同时,伴随着深度学习的快速发展,人工智能技术在各个领域中的应用越来越广泛。机器学习是人工智能的基础,因此,掌握常用…...
Java有用的书籍2
. 1.《Effective Java》是由Joshua Bloch撰写的一本Java编程规范和最佳实践指南,第三版是最新版。它涵盖了Java编程中一些常见问题和技巧,以及如何编写更加优雅、健壮和高效的Java代码。 该书共分为15章,每一章都涵盖了Java编程中的一个关键…...
CTA进网测试《5G消息 终端测试方法》标准依据:YDT 3958-2021
GB 21288-2022 强制国标要求变化 与GB 21288-2007相比, 新国标主要有以下变化: 1. 增加职业暴露定义: 2. 增加吸收功率密度定义: 3. 增加不同频率、不同人体部位适用的暴露限值: 4. 增加产品说明书的注释:…...
[LeetCode复盘] LCCUP‘23春季赛 20230422
[LeetCode复盘] LCCUP23春季赛 20230422 一、总结二、 1. 补给马车1. 题目描述2. 思路分析3. 代码实现 三、2. 探险营地1. 题目描述2. 思路分析3. 代码实现 四、 3. 最强祝福力场1. 题目描述2. 思路分析3. 代码实现 五、 4. 传送卷轴1. 题目描述2. 思路分析3. 代码实现 六、 5…...
传统燃油车的智控App远控响应速度优化方向几点思考
一、分析当前问题及其影响因素 网络延迟:燃油车的App远控响应速度受到网络延迟的影响。网络延迟可能是由于网络拥堵或服务器响应速度慢等原因导致的。 用户设备:用户设备的性能也会影响燃油车的App远控响应速度。例如,设备的内存不足或存在故…...
回炉重造九---DNS服务器
1、DNS服务器的相关概念和技术 1.1 DNS服务器的类型 主DNS服务器从DNS服务器缓存DNS服务器(forward DNS服务器{转发器}) 1.1.1 主DNS服务器的作用 管理和维护所负责解析的域内解析库的服务器1.1.2 从DNS服务器的作用 从主服务器或从服务器“复制”解…...
UE4/5多人游戏详解(七、自定义委托,实现寻找会话和加入会话的函数,通过Steam进行两台电脑的联机)
目录 可能出现问题(在六部分的测试可能无法连接的问题【在末尾加上了,怕有人没看见在这里写一下】) 自定义委托 调整位置 创建更多的委托和回调函数给菜单: 多播和动态多播 代码: 委托变量 代码: 回…...
【数据库多表操作】sql语句基础及进阶
常用数据库: 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它是长期存储在计算机内、有组织、有结构的数据集合。数据库是信息系统的核心部分,现代软件系统中大量采用了数据库管理系统(DBM…...
DPDK和RDMA的区别
网络的发展好像在各方面都是滞后于计算和存储,时延方面也不例外,网络传输时延高,逐渐成为了数据中心高性能的瓶颈。因为传统两个节点间传输数据的网络路径上有大量的内存拷贝,导致网络传输效率低下,网络数据包的收发处…...
Prompt 缓存,一次讲明白
每当一个 AI Agent 往前走一步,它其实都在交一笔税。它会重新读取所有内容。系统提示词。 工具定义。 项目上下文。 三轮前已经加载过的内容。每一轮都重新读一遍。这就是 context tax。对长时间运行的 Agent 工作流来说,它往往是整个 AI 基础设施里最贵…...
如何用NVIDIA Profile Inspector解锁显卡隐藏性能:终极配置指南
如何用NVIDIA Profile Inspector解锁显卡隐藏性能:终极配置指南 【免费下载链接】nvidiaProfileInspector 项目地址: https://gitcode.com/gh_mirrors/nv/nvidiaProfileInspector NVIDIA Profile Inspector是一款强大的显卡驱动深度配置工具,能够…...
ARM嵌入式开发板OpenSSH移植全攻略:从交叉编译到部署实战
1. 项目概述与核心价值给嵌入式开发板移植OpenSSH,这几乎是每一个从单片机转向Linux嵌入式开发的工程师都会遇到的“成人礼”。你可能已经习惯了用串口调试终端,一根线连着,虽然稳定,但也被束缚在工位前。当你的设备需要部署到某个…...
“--tile”失效了?深度逆向Midjourney纹理无缝拼接底层逻辑(含Python自动化Tile校验脚本)
更多请点击: https://codechina.net 第一章:Midjourney纹理无缝拼接的核心价值与失效现象洞察 在游戏开发、建筑可视化与数字孪生等高频复用表面材质的场景中,Midjourney生成的纹理若能实现像素级无缝拼接(tiling)&am…...
GitHub Desktop中文汉化解决方案:智能文本映射技术实现界面本地化
GitHub Desktop中文汉化解决方案:智能文本映射技术实现界面本地化 【免费下载链接】GitHubDesktop2Chinese GithubDesktop语言本地化(汉化)工具 【GitHub桌面客户端中文汉化】 项目地址: https://gitcode.com/gh_mirrors/gi/GitHubDesktop2Chinese GitHub De…...
图片跨域之谜:img 标签真的“畅通无阻”吗
🖼️ 图片跨域之谜:img 标签真的“畅通无阻”吗? 🤔 核心疑问 在前端开发中,我们常听到“同源策略”限制了跨域请求。但是,当你直接在 HTML 中写 <img src"https://other-domain.com/logo.png&qu…...
2026年同步网盘哪个好?10款支持本地文件夹自动同步与实时备份工具盘点
在 2026 年,数据即资产。传统“手动上传”已难以满足高频办公:文件一多就容易漏传、版本混乱、协作效率下降。本地文件夹自动同步(落盘即上云)正在成为衡量网盘生产力的核心指标——既能防止硬盘故障导致的数据丢失,也…...
Midjourney盐印相风格实战手册(附12组可复用Prompt模板+SDXL交叉验证数据)
更多请点击: https://kaifayun.com 第一章:Midjourney盐印相风格的视觉溯源与美学内核 盐印相(Salted Paper Print)是19世纪早期摄影术诞生之初的核心工艺,由亨利福克斯塔尔博特于1839年系统完善。其本质是将纸基浸入…...
百度网盘下载加速终极指南:3步实现高速下载的完整教程
百度网盘下载加速终极指南:3步实现高速下载的完整教程 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 还在为百度网盘几十KB/s的龟速下载而烦恼吗?作为…...
Diablo Edit2:10分钟掌握暗黑破坏神2存档修改终极指南
Diablo Edit2:10分钟掌握暗黑破坏神2存档修改终极指南 【免费下载链接】diablo_edit Diablo II Character editor. 项目地址: https://gitcode.com/gh_mirrors/di/diablo_edit 厌倦了在暗黑破坏神2中反复刷装备?想要快速测试新build却不想花费40小…...
