Django: set up a scheduled job within Django?
像这个问题(django-设置一个计划的作业)我想在django内运行一个常规任务。
如果可能的话,我也很想把它捆绑在Django中,而不是需要一个cron工作。理想情况下,我想为客户机处理一个Django应用程序,它们可以在服务器之间插入、播放和移动,而无需每次编辑crontab。
所以,我想要一些建议。我可以把下面这些东西和Django捆绑在一起,然后以某种方式连接到Django的启动过程中吗?(伪代码)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | Function secondsUntilNextRun() { $a = getTimeValue("Next Friday at 9am") $b = getCurrentTimeValue() Return $a - $b } OnStartup { $timeToSleep = secondsUntilNextRun() Start Background Thread } Background Thread { Sleep($timeToSleep) DoEmailReminders() $timeToSleep = secondsUntilNextRun() } |
与使用cron+django管理命令相比,这样做的优点/缺点是什么?
谢谢!
看看姜戈芹菜的融合。我在我的项目中使用它,它工作得很好。
如果您将任务直接集成到Django代码中,它们将在与Web应用程序相同的上下文中运行。这可能不是你想要的。