Pular para o conteúdo

Gancho de Encerramento

Nesta página

O bloco on shutdown é o equivalente Zolo de um destrutor de processo: ele roda quando o programa termina normalmente, quando process.exit é chamado explicitamente, ou quando o processo recebe um sinal que encerra a execução. O parâmetro reason (opcional) recebe uma string descrevendo a causa — "normal" para saída limpa.

O gancho dispara após process.exit(0) — o print("unreachable") jamais é executado. Rode no seu ambiente local para ver a ordem das mensagens.

01-on-shutdown.zolo
Playground
// Verifies `on shutdown` fires when `process.exit` is called explicitly.

use std::process

on shutdown reason {
  print("shutdown reason: {reason}")
}

print("before exit")
process.exit(0)
print("unreachable")

Requer a CLI/host do Zolo — abra no playground ou rode localmente.

O bloco é registrado na ordem em que aparece no código, mas executado em ordem inversa (LIFO) quando há múltiplos ganchos — o mais próximo do fim do arquivo roda primeiro, permitindo que camadas internas se limpem antes das externas.

Desafio

Remova o argumento reason do on shutdown e verifique que o bloco ainda compila e dispara. Em seguida, adicione um segundo on shutdown antes do primeiro e observe a ordem de execução.

Veja também

Buscar no Zolo

9 resultados

enespt-br