在不久的将来,我将向付费客户部署Django / Gunicorn / Nginx网站。这是我的第一个公共网站。有时候我需要暂时关闭网站进行维护。我已经学会了如何配置Nginx以提供暂时不可用的" 503站点"在我进行维护的同时,我会通过电子邮件提前通知我的客户。
但是,如果我遇到严重问题并且需要更改设置或视图或某些内容而我需要通过重新启动Gunicorn而没有任何提前警告重新启动网站,那么从客户的角度来看会发生什么?网站会慢下来几秒钟吗?他们的会议是否会完整无缺,还是所有会议都会丢失?显然,如果发生任何写入,将会出现数据库问题。什么事情会发生,我可以采取什么预防措施来限制损害?
答案 0 :(得分:2)
只要您不通过切断服务器的电源重新启动gunicorn,操作系统就会给它正常关机的机会。这意味着所有当前视图都将完成,所有未完成的交易将完成。
假设你正在使用像nginx这样的反向代理,并且你立即再次启动gunicorn,用户将不太可能注意到:请求可能需要更长的时间,这就是全部。
会话存储在文件或数据库中,因此不受影响。