graceful_shutdown

(PHP 8.6+, True Async 1.0)

graceful_shutdown() — Leitet ein kontrolliertes Herunterfahren des Schedulers ein. Alle Coroutinen erhalten eine Abbruchanforderung.

Beschreibung

graceful_shutdown(?Async\AsyncCancellation $cancellationError = null): void

Startet das kontrollierte Herunterfahren: Alle aktiven Coroutinen werden abgebrochen, und die Anwendung laeuft weiter, bis sie auf natuerliche Weise abgeschlossen sind.

Parameter

cancellationError Ein optionaler Abbruchfehler, der an die Coroutinen uebergeben wird. Wenn nicht angegeben, wird eine Standardnachricht verwendet.

Rueckgabewerte

Kein Rueckgabewert.

Beispiele

Beispiel #1 Behandlung eines Beendigungssignals

<?php
use function Async\spawn;
use function Async\graceful_shutdown;
use Async\AsyncCancellation;

// Server, der Anfragen verarbeitet
spawn(function() {
    // Bei Empfang eines Signals — kontrolliert herunterfahren
    pcntl_signal(SIGTERM, function() {
        graceful_shutdown(new AsyncCancellation('Server wird heruntergefahren'));
    });

    while (true) {
        // Anfragen verarbeiten...
    }
});
?>

Hinweise

Hinweis: Coroutinen, die nach dem Aufruf von graceful_shutdown() erstellt werden, werden sofort abgebrochen.

Hinweis: exit und die loesen automatisch ein kontrolliertes Herunterfahren aus.

Siehe auch