添加,修改,移除芹菜.在运行时调度



是否有添加、修改、删除芹菜的方法。在运行时调度。我需要的东西,读取数据库表定期知道时间表的列表。

文档说可以使用djcelery.schedulers.DatabaseScheduler来实现我想要的,但不确定如何做到这一点。

我读了如何动态地添加/删除周期性任务到芹菜(celerybeat),仍然不清楚

Thanks for help

当你在应用程序设置中设置:

CELERYBEAT_SCHEDULER='djcelery.schedulers.DatabaseScheduler'

celery beat进程检查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 admin panel测试PeriodicTask的各种配置:
http://localhost:8000/admin/djcelery/crontabschedule/add/
http://localhost:8000/admin/djcelery/periodictask/

相关内容

  • 没有找到相关文章

最新更新