Avisa os usuários que o servidor está em manutenção

2

De tempos em tempos, um servidor de produção OpenERP precisa de alguma manutenção: atualizando alguns módulos, provavelmente reiniciando o servidor.

Meu problema é, eu gostaria de ter uma maneira de impedir que usuários comuns acessem o servidor. Por exemplo, retornando a eles uma mensagem "sob manutenção" .

Qual seria a melhor solução para isso?

    
por DReispt 20.12.2012 / 12:17

2 respostas

2

Se o servidor estiver reinicializando, normalmente você precisará de algum tipo de IP de failover ou pelo menos um proxy de armazenamento em cache na frente do servidor de aplicativos (neste caso, OpenERP) para informar ao usuário que está inativo. Caso contrário, enquanto o servidor estiver off-line, você receberá uma mensagem de erro genérica do navegador retornada ao cliente, como "servidor não encontrado" ou semelhante.

Em suma, a melhor maneira de fazer isso é ter outro servidor físico / virtual sentado na frente do servidor de aplicativos que está "sempre" ativo (ou um cluster de servidores que são reinicializados de forma independente), para que você sempre tenha algo resolvendo o nome de domínio ou pode fazer o failover para um backup se o principal estiver inoperante devido a falhas ou reinicializações.

    
por 20.12.2012 / 17:32
1

Esta não é a melhor maneira de fazer isso, mas é um truque útil:

Edite o arquivo openerp\addons\base\res\res_users.py do servidor. No início do método def check(self, db, uid, passwd): , adicione:

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

Na próxima reinicialização, o servidor deixará de aceitar usuários que não sejam admin .

    
por 21.12.2012 / 10:50