graceful_shutdown
(PHP 8.6+, True Async 1.0)
graceful_shutdown() — Inicia un apagado ordenado del planificador. Todas las corrutinas reciben una solicitud de cancelación.
Descripción
graceful_shutdown(?Async\AsyncCancellation $cancellationError = null): void
Inicia el procedimiento de apagado ordenado: todas las corrutinas activas son canceladas y la aplicación continúa ejecutándose hasta que se completen de forma natural.
Parámetros
cancellationError
Un error de cancelación opcional para pasar a las corrutinas. Si no se especifica, se usa un mensaje por defecto.
Valores de retorno
No devuelve ningún valor.
Ejemplos
Ejemplo #1 Manejo de señal de terminación
<?php
use function Async\spawn;
use function Async\graceful_shutdown;
use Async\AsyncCancellation;
// Servidor procesando solicitudes
spawn(function() {
// Al recibir una señal — apagar ordenadamente
pcntl_signal(SIGTERM, function() {
graceful_shutdown(new AsyncCancellation('Apagado del servidor'));
});
while (true) {
// Procesando solicitudes...
}
});
?>
Notas
Nota: Las corrutinas creadas después de llamar a
graceful_shutdown()serán canceladas inmediatamente.
Nota:
exitydieactivan automáticamente un apagado ordenado.
Ver también
- Cancelación — mecanismo de cancelación
- Scope — gestión del ciclo de vida