graceful_shutdown
(PHP 8.6+, True Async 1.0)
graceful_shutdown() — Initie un arrêt gracieux du planificateur. Toutes les coroutines reçoivent une demande d’annulation.
Description
graceful_shutdown(?Async\AsyncCancellation $cancellationError = null): void
Démarre la procédure d’arrêt gracieux : toutes les coroutines actives sont annulées, et l’application continue de fonctionner jusqu’à ce qu’elles se terminent naturellement.
Paramètres
cancellationError
Une erreur d’annulation optionnelle à transmettre aux coroutines. Si non spécifiée, un message par défaut est utilisé.
Valeurs de retour
Aucune valeur de retour.
Exemples
Exemple #1 Gestion d’un signal de terminaison
<?php
use function Async\spawn;
use function Async\graceful_shutdown;
use Async\AsyncCancellation;
// Serveur traitant des requêtes
spawn(function() {
// À la réception d'un signal — arrêter gracieusement
pcntl_signal(SIGTERM, function() {
graceful_shutdown(new AsyncCancellation('Server shutdown'));
});
while (true) {
// Traitement des requêtes...
}
});
?>
Notes
Note : Les coroutines créées après l’appel à
graceful_shutdown()seront immédiatement annulées.
Note :
exitetdiedéclenchent automatiquement un arrêt gracieux.
Voir aussi
- Cancellation — Mécanisme d’annulation
- Scope — Gestion du cycle de vie