stop" pour quitter, où le paramètre $waitEvent peut contrôler la stratégie de sortie. La valeur par défaut est false pour quitter immédiatement, et le définir sur true signifie attendre que la boucle d'événements soit vide. avant de sortir."/> stop" pour quitter, où le paramètre $waitEvent peut contrôler la stratégie de sortie. La valeur par défaut est false pour quitter immédiatement, et le définir sur true signifie attendre que la boucle d'événements soit vide. avant de sortir.">

Maison  >  Article  >  cadre php  >  Comment quitter Swoole

Comment quitter Swoole

尚
original
2020-01-13 14:42:352882parcourir

Comment quitter Swoole

Server->stop

arrête le processus Worker en cours et déclenche immédiatement la fonction de rappel onWorkerStop.

function Server->stop(int $worker_id = -1, bool $waitEvent = false);

Utilisez cette fonction au lieu de exit/die pour terminer le cycle de vie du processus Worker

$waitEvent peut contrôler la stratégie de sortie. La valeur par défaut est false pour quitter immédiatement et définie sur true. pour attendre que la boucle d'événements soit vide. Puis quittez

Si vous souhaitez mettre fin à d'autres processus Worker, vous pouvez ajouter worker_id comme paramètre dans stop ou utiliser swoole_process::kill($worker_pid)

Cette méthode est disponible en 1.8.2 ou Disponible dans les versions ultérieures

$waitEvent est disponible en 1.9.19 ou dans les versions ultérieures

Sortie asynchrone

Le serveur asynchrone se ferme après avoir appelé stop. Pendant que le processus est en cours d'exécution, il peut encore y avoir des événements en attente. Par exemple, SwooleMySQL->query est utilisé pour envoyer l'instruction SQL, mais il attend toujours que le serveur MySQL renvoie le résultat. Si le processus est forcé de se terminer à ce moment-là, les résultats de l'exécution SQL seront perdus.

Après avoir défini $waitEvent = true, la couche sous-jacente utilisera une stratégie de redémarrage sécurisé asynchrone. Informez d’abord le processus Manager et redémarrez un nouveau Worker pour gérer les nouvelles demandes. L'ancien Worker actuel attendra les événements jusqu'à ce que la boucle d'événements soit vide ou dépasse max_wait_time, puis quittera le processus pour garantir au maximum la sécurité des événements asynchrones.

Apprentissage recommandé : tutoriel swoole

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn