我需要在 Django 中构建一个应用程序,让用户每天在运行时指定的时间执行一些任务。
我查看了 Celery,但找不到任何有用的东西。我找到了 apply_async 并且我可以让任务在指定的持续时间内执行一次但不是经常性的。我错过了一些东西,但不知道是什么。
请建议我怎样才能做到这一点。
最佳答案
django-celery-beat
包允许您动态地向数据库添加任务,然后按照您在数据库中定义的方式执行它们。(例如,每 5 分钟一次)但是目前它们有错误导致该任务在添加到数据库时未附加到 celery 队列。一种建议的解决方法是每次添加新任务时重新启动 celery 进程。
我用 Dan Baders schedule
包解决了这个问题。我每分钟安排一次任务,检查数据库中需要在当前分钟执行的任务。然后我在新线程中开始每个任务。
希望这会有所帮助。
关于python - 如何在 Django 中动态调度任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43733387/