警告用户服务器正在维护

警告用户服务器正在维护

有时,OpenERP 生产服务器需要一些维护:升级一些模块,可能需要重新启动服务器。

我的问题是,我希望有一种方法可以阻止普通用户访问服务器。例如,通过向他们返回“正在维修”信息。

对此最好的解决办法是什么?

答案1

如果服务器正在重新启动,通常您需要某种故障转移 IP 或至少在应用服务器(在本例中为 OpenERP)前面有一个缓存代理来告诉用户它已关闭。否则,当服务器处于离线状态时,您只会收到返回到客户端的一般浏览器错误消息,如“未找到服务器”或类似消息。

简而言之,最好的方法是让另一台物理/虚拟服务器位于“始终”运行的应用程序服务器前面(或一组独立重新启动的服务器),这样您就总是可以解析域名,或者如果主服务器由于崩溃或重新启动而关闭,可以故障转移到备份服务器。

答案2

这不是最好的方法,但却是一个有用的方法:

编辑服务器的openerp\addons\base\res\res_users.py文件。在方法开头def check(self, db, uid, passwd):添加:

    if uid != openerp.SUPERUSER_ID:
        raise osv.except_osv(_('UNDER MAINTENANCE'), _('This service is temporarily down for maintenance.'))

下次重启时,服务器将停止接受除 之外的用户admin

相关内容