Gancho de Cierre
En esta página
El bloque on shutdown es el equivalente Zolo de un destructor de proceso: se
ejecuta cuando el programa termina normalmente, cuando process.exit se llama
explícitamente, o cuando el proceso recibe una señal que termina la ejecución.
El parámetro reason (opcional) recibe una cadena que describe la causa —
"normal" para una salida limpia.
El gancho se dispara tras process.exit(0) — el print("unreachable") nunca
se ejecuta. Ejecuta en tu entorno local para ver el orden de los mensajes.
// 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")
Requiere la CLI o el host de Zolo; ábrelo en el playground o ejecútalo localmente.
El bloque se registra en el orden en que aparece en el código, pero se ejecuta en orden inverso (LIFO) cuando hay múltiples ganchos — el más cercano al final del archivo se ejecuta primero, permitiendo que las capas internas se limpien antes que las externas.
Desafío
Elimina el argumento reason del on shutdown y verifica que el bloque sigue
compilando y disparándose. Luego añade un segundo on shutdown antes del
primero y observa el orden de ejecución.
Consulta también