⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

动态定时任务:在运行时创建与管理 Celery Beat 周期任务

突破静态 crontab 限制,通过 Django Admin 或 API 动态增删改查周期性任务,并实时生效。 · 难度:入门 · +10XP

动态定时任务:在运行时创建与管理 Celery Beat 周期任务

一般教程教你在 settings.py 写死 CELERY_BEAT_SCHEDULE。本教程教你使用 djcelery 或 django-celery-beat 的数据库调度器(DatabaseScheduler)。你将学习如何通过 Model(如 PeriodicTask)来创建每分钟、每小时或自定义 cron 表达式的任务。重点包括:传递 JSON 参数、任务启用/禁用、立即执行一次(run immediately)。最终实现一个可在线编辑的定时任务面板。

from django_celery_beat.models import PeriodicTask, IntervalSchedule

schedule, created = IntervalSchedule.objects.get_or_create( every=10, period=IntervalSchedule.SECONDS, )

PeriodicTask.objects.create( name='My Dynamic Task', task='myapp.tasks.my_task', interval=schedule, args=json.dumps(['arg1']), )

Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 189 篇
0 完成
🔥 0