Utilização
Este programa é executado em segundo plano, isto é, sem interface para o usuário.
A principal forma de execução é através do script em Shell dip160_00.sh, o qual é agendado para executar semanalmente às 05:00 nas quartas-feira.
Fluxo de execução
Para que a atualização dos programas e tabelas do SIT seja realizada, os seguintes passos são executados pelo programa:
- Verificação do usuário shell: verifica se o usuário que está executando o programa corresponde ao “genero” ou “generocron”, finalizando o programa em caso contrário;
- Preparação do diretório de atualização: verifica a existência do pacote de programas no diretório /tramon/central, bem como se a data do pacote corresponde a um que ainda não foi aplicado. É obrigatório a existência do pacote de programas em Genero, caso contrário irá finalizar o programa;
- Descompactação do arquivo de atualização: descompacta os pacotes e os hotfixes (Genero, Delphi, C#, Python) a aplicar no servidor, finalizará a execução do programa em caso de algum erro;
- Gravar SQLs e galhos a processar: identifica os SQLs que vieram no pacote de alterações e os grava na tabela DIALAP com status de pendente para execução;
- Mudar acesso ao banco de dados para Single-User: alterna o modo de operação do banco de dados para apenas o usuário principal do banco, isto é, o “informix”;
- Finalizar processos Genero: realiza um “kill -9” em todos os processos “fglrun” do servidor;
- Reconectar usuário Informix: refaz a conexão do programa com o usuário “informix”, caso não consiga a execução é finalizada;
- Identificar tabelas com replicates IDS: verifica se as tabelas que sofrerão alteração de estrutura possuem replicação;
- Parar o serviço IDS: para a replicação das tabelas identificadas no passo 8;
- Executar SQLs: lê a tabela DIALAP buscando os SQLs pendentes e atualiza o status e o resultado na própria tabela;
- Iniciar o serviço IDS: reinicia a replicação das tabelas identificadas no passo 8;
- Mudar acesso ao banco de dados para Multi-User: alternar o modo de acesso ao banco de dados para múltiplos usuários, isto é, liberar para todos usuários;
- Mover programas: transfere os programas que vieram no pacote de alteraçãos para os seus devidos diretórios;
- Envio do e-mail aos operadores: envia o aviso de aplicação do pacote de alterações;
- Atualizar permissões dos programas: atualiza as permissões do programas para que todos usuários possam ler e executar, caso tenham permissão;
- Executar Galhos: executa os programas de ajuste que foram enviados no pacote e atualiza seu status na tabela DIALAP;
- Atualização da tabela DIAHER: atualiza a data de aplicação do pacote de programas na tabela do histório de aplicação das releases no servidor “veneza”.
Notas
- O intervalo de passos do 5 ao 12 somente é executado caso haja SQLs de alteração no pacote de programas;
- A aplicação do pacote de alterações no servidor “tdubai” ocorre às 12:00 das quartas-feira devido ao fuso-horário;
- No servidor de aplicações Web (torino), não são executados os passos do 5 ao 12, com excessão da finalização dos processos Genero, pois não são aplicados SQLs, dado que utiliza o mesmo banco de dados que o servidor “genero”;
- Sempre que o programa é finalizado por algum erro, um e-mail é enviado ao responsável com um resumo do motivo, caso seja necessário investigar mais detalhes, um log completo da execução é armazenado em /tramon/prog/genero/logs/info_dip160_aaaa_mm_dd_hhmmss.log dos servidores.