我正在制作一个淘汰式投票网站。人们登录,投票给他们最不喜欢的参与者,一天结束时,投票最多的人就不活动了。几乎所有的东西都能工作:登录、投票等等。但是我不知道如何制作一个程序来检查最多的投票,并改变数据库来改变参与者在特定时间的状态,而不需要用户进入网站
我甚至不知道该把密码放在哪里。我如何确保它一直在运行?在我看来,views.py只在用户访问URL时才起作用,因此如果在重新编译投票时没有人访问该网站,它将不起作用,所以这是一个否定的否定。我可以在Django项目之外创建一个脚本来执行此操作,然后用nohup &
运行它,但是这样我就失去了模型表示法,不得不进行手动查询,另外,我肯定有更好的,更Django的方法
这个问题有什么解决办法吗?或者你能给我指个方向
答案是姜果芹菜。它适用于任何需要带条件运行的任务。看看你在芹菜中使用的beats功能
如果您的场景只是根据投票数更新数据库,那么您可以直接使用cron
编写一个脚本,检查投票并更改数据库中用户的状态。在cron中安排它在一天/投票结束时运行一次
将脚本放在外人无法访问的目录中
每天23:30运行一次脚本的cron条目:
30 23 * * * python /root/scripts/status_change_script.py
你可以用芹菜来做这个。芹菜的定期任务-
访问http://docs.celeryproject.org/en/2.0-archived/getting-started/periodic-tasks.htm
相关问题 更多 >
编程相关推荐