Atualização automática do sistema, com verificação e volta automática
A tela de atualizações ganhou as abas Manual e Automático. Ligada, uma rotina agendada procura a versão estável mais nova e atualiza no horário escolhido, sempre com verificação e volta automática.
A atualização por API (ver a novidade de 30 de setembro) resolveu o "como". Faltava o "quando": alguém ainda precisava lembrar de atualizar. O admin-atualizacoes passou a ter duas abas: Manual, com o fluxo de antes, e Automático.
Como a rotina decide
A tarefa é declarada pelo próprio módulo no admin-cron e roda de hora em hora, quase sempre sem acessar a rede:
1. Desligada, encerra. Com uma execução pendente, lê o resultado: sucesso encerra; volta automática ou falha põe a versão na lista de recusadas. 2. Fora da hora preferida, ou com a checagem do período (diária, semanal ou mensal) em dia, encerra. 3. Procura a versão estável mais nova e só atualiza se ela for maior que a instalada, não estiver recusada, não houver choque de arquivo pendente e a trava de deploy estiver livre.
A atualização usa o mesmo caminho da API: snapshot, verificação depois da troca e volta automática dos arquivos se algo quebrar.
Salvaguardas
- A configuração fica fora da área pública e fora do pacote de atualização.
- As opções passadas ao atualizador vêm de uma lista fechada no código. Mesmo editando o arquivo de configuração à mão, ninguém consegue desligar a verificação ou a volta automática.
- "Verificar agora" mostra a versão disponível, mas não adia a próxima checagem automática.
- Uma versão recusada pode ser liberada pela tela, para tentar de novo.
Estado
Validado no ambiente de teste com testes automatizados e roteiro de navegador (19/19). Uma atualização real disparada pela própria rotina, com sucesso e com volta automática, ainda não foi exercitada. Homologação pendente.
Origem: Core · REQ-245 (absorve a REQ-241) · BATCH-254