|
I. O bastidor
Ontem à noite, a nossa fábrica não rodou. Toda noite, no mesmo horário, um processo escreve as edições do dia seguinte das newsletters da rede, outro monta o quiz, e um terceiro agenda tudo na plataforma de envio. Roda sozinho há semanas. Ontem, não rodou.
E aqui está a parte que interessa: não houve nenhuma mensagem de erro. Nenhum alerta, nenhum log gritando, nenhum email de "algo quebrou". A fila do dia seguinte simplesmente amanheceu vazia, em silêncio.
Quem salvou foi o hábito, não o sistema. Uma conferência de rotina, alta madrugada, flagou a fila vazia. A recuperação virou a noite: hoje cedo, 28 das 30 edições estavam agendadas de volta, no horário. As outras duas não passam pela fábrica, são escritas à mão. Esta que você está lendo é uma delas.
A autópsia encontrou 4 causas empilhadas, e nenhuma delas tinha cara de catástrofe. O ambiente da madrugada não era o mesmo do teste feito à mão durante o dia, e o processo nem chegou a partir. Um teto de tempo matava o trabalho longo no meio. E um validador zeloso demais acusava defeito em 2 edições saudáveis, derrubando o lote inteiro junto.
A automação que quebra deixa rastro. A automação que não roda não deixa nem log. O erro tem hora, arquivo e linha. A ausência não tem nada: ela só existe pra quem procura. E foi por procurar de madrugada, por sorte e teimosia, que a rede não amanheceu muda.
E vale dimensionar o que estava em jogo. Um dia sem edição não é só um buraco no calendário: é promessa quebrada com o leitor que assinou uma cadência diária, é anúncio vendido que não chega a quem pagou por ele, é o algoritmo de entrega esfriando a reputação do remetente. O custo do silêncio se paga em confiança, e confiança é o único estoque que newsletter tem.
O problema, portanto, nunca foi a falha. Automação falha, sempre falhou, vai falhar de novo. O problema foi o silêncio: uma operação inteira desenhada pra avisar quando algo dá errado, e completamente surda pro cenário em que nada acontece.
|
|
II. Na prática: o alarme que escuta o silêncio
Monitore o resultado, não a execução. A pergunta errada é "o script deu erro?". A pergunta certa é "as edições de amanhã existem na fila?". Depois do incidente, montamos um conferente que roda após o horário previsto da fábrica, conta o que devia existir e compara com o combinado. Contagem abaixo do esperado dispara email com FALHA no assunto, direto pra caixa de entrada. Não importa POR QUE faltou: faltou, acorda gente.
Prova de vida diária. Todo processo que roda sozinho passou a deixar um recibo datado ao terminar, e um vigia separado confere o recibo na manhã seguinte. Recibo de ontem significa alarme hoje. A lógica vem do freio de homem morto dos trens: o maquinista precisa segurar a alavanca o tempo todo, e o trem para sozinho se a mão soltar. Aqui, se o recibo do dia não aparece, o alarme dispara sem depender de ninguém perceber nada.
Repara que as duas camadas se completam e não se substituem. O conferente vigia o produto (a fila de amanhã tem o que devia ter?), o recibo vigia o operário (a fábrica chegou a trabalhar?). Uma pega o lote incompleto, a outra pega a noite em que nada partiu. E as duas custam meia dúzia de linhas de código cada, menos do que custou uma única madrugada de recuperação.
|
|
III. Ensaie no palco, não no camarim
Rodar o processo à mão, de dia, no seu terminal, não prova quase nada: o agendador noturno roda com outro ambiente, outros caminhos, outras permissões. Foi exatamente nessa fresta que a nossa primeira causa morava. O ensaio que vale é o agendado disparando sozinho, no horário real, com você só assistindo.
E quando precisar recuperar: lote pequeno. A tentação na crise é rodar a fábrica inteira de novo. Refazer só o que faltou é mais rápido, mais fácil de conferir e não arrisca duplicar o que já estava certo. Na nossa madrugada, foi a diferença entre recuperar a tempo e perder o dia.
|