Página 503 personalizada ao implantar em openshift

A página 503 padrão que é mostrada enquanto uma implantação está em andamento no Openshift não é muito “amigável”. Eu queria mudar essa página do meu aplicativo DIY e a solução que encontrei é iniciar um servidor temporário que servirá a página 503 personalizada, enquanto a implantação está em andamento.

Python para o resgate!

Para manter as coisas simples, vou usar o servidor http base do python para servir uma página html estática. Este servidor web python será iniciado após o processo nginx ser interrompido e será encerrado no final da implantação, logo antes de o servidor nginx ser iniciado novamente.

Uso

  1. No meu stopgancho de ação, vou iniciar o servidor da web python logo depois de parar o nginx:
# stop nginx

echo
"Starting maintenance web server."
nohup python $
{OPENSHIFT_RUNTIME_DIR}/maintenance/maintenance.py > /tmp/nohup.out 2>&1&
echo $
! > ${OPENSHIFT_RUN_DIR}/maintenance.pid
  1. No meu startgancho de ação, vou parar o servidor da web python antes de iniciar o nginx:
echo "Stopping maintenance web server."
kill
-9 `cat ${OPENSHIFT_RUN_DIR}/maintenance.pid`

# start nginx

Então, basicamente, quando a implementação começar, o nginx será interrompido e o servidor da web do python será iniciado e quando a implementação for concluída, o servidor da web do python será interrompido e o nginx será iniciado.

Você pode ver os arquivos de amostra aqui