有没有一种方法可以在运行时添加,修改,删除celery.schedules。我需要一些可以定期读取数据库表的信息,以了解日程表列表。
文档说一个人可以djcelery.schedulers.DatabaseScheduler
用来实现我想要的,但是不确定如何去实现。
我阅读了如何动态地向芹菜中添加/删除定期任务(celerybeat),目前尚不清楚
感谢帮助
当您在应用程序设置中进行设置时:
CELERYBEAT_SCHEDULER='djcelery.schedulers.DatabaseScheduler'
celery beat
proces检查django PeriodicTask模型以查看应执行什么任务。
您可以通过使用django模型对其进行修改来添加/修改/删除这些任务:
from djcelery.models import PeriodicTask, CrontabSchedule
every_hours_crontab = CrontabSchedule(minute=0)
every_hours_crontab.save()
periodic_task = PeriodicTask(
name='Call my task every hour',
task='myproject.tasks.mytask',
crontab=every_hours_crontab,
args=json.dump([arg1, arg2]),
kwargs=json.dump({'foo': 'bar'})
)
periodic_task.save()
您还可以使用django管理面板测试PeriodicTask的各种配置:
http://localhost:8000/admin/djcelery/crontabschedule/add/
http://localhost:8000/admin/djcelery/periodictask/
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句