Saltar al contenido

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.

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")

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

Buscar en Zolo

9 resultados

enespt-br