如何确保Django中较低的服务器负载

时间:2017-06-08 13:29:27

标签: python django server

我正在使用Django网络应用。该应用程序包含将在一定时间后自行删除的邮件。我使用timezone.now()作为发送时间,用户输入timedelta以显示消息,直到。我正在检查消息是否应该通过检查当前时间是否在发送时间加上时间增量之后自行删除。这会给服务器带来沉重负担吗?它会多久自动检查一次?有没有办法告诉它每分钟检查一次(或以其他方式设定频率)?

由于

1 个答案:

答案 0 :(得分:1)

  

自动检查的频率是多少?

谁是"它" ?如果你的意思是" django进程",那么它不会自行检查任何东西。您将不得不使用cronjob或某些异步队列来处理删除" dead"消息。

  

有没有办法告诉它每分钟检查一次(或以其他方式设定频率)?

是的,请参阅上文。 cronjobs是最简单的解决方案,异步队列(如芹菜)更重,但如果你有很多"带外"处理(您希望从请求/响应周期启动的流程,但在其外部执行),然后就可以了。

  

这会给服务器带来沉重负担吗?

完全不可能回答这个问题。这取决于您的确切模型,您编写"检查&清洁"代码,当然还有数据量。但是使用cronjob或异步队列这不会在django服务器进程本身内运行,甚至可以在另一台服务器上运行,只要它可以访问数据库。 IOW负载将主要在数据库上(当然,在运行该进程的服务器上,但是考虑到你的问题描述,一个简单的SQL删除查询应该足够了......)。