Une fois le processus swoole fermé, vous pouvez utiliser la méthode Server->reload pour le redémarrer.
Serveur->introduction à la méthode de rechargement :
Redémarrez tous les processus Worker/Task.
bool Server->reload(bool $only_reload_taskworkrer = false)
$only_reload_taskworkrer S'il faut redémarrer uniquement le processus de tâche
Un serveur back-end occupé traite les requêtes à tout moment. Si l'administrateur termine/redémarre le programme serveur en tuant le processus, il le fait. peut provoquer un crash. Le code est terminé à mi-chemin de l'exécution.
Dans ce cas, une incohérence des données se produira. Par exemple, dans un système commercial, la section suivante de la logique de paiement est l'expédition. On suppose que le processus se termine après la logique de paiement. Cela amènera l’utilisateur à payer la devise mais ne livrera pas les marchandises, et les conséquences seront très graves.
Swoole fournit un mécanisme de terminaison/redémarrage flexible. L'administrateur n'a qu'à envoyer un signal spécifique au serveur, et le processus Worker du serveur peut se terminer en toute sécurité.
1. SIGTERM : envoyez ce signal au processus principal/processus de gestion et le serveur se terminera en toute sécurité
2 Dans le code PHP, vous pouvez appeler $serv->shutdown() pour. terminer cette opération
3. SIGUSR1 : Envoyez le signal SIGUSR1 au processus principal/processus de gestion, ce qui redémarrera en douceur tous les processus Worker
4. Dans le code PHP, vous pouvez appeler $serv->. ;reload() pour terminer cette opération
5. Le rechargement dispose d'un mécanisme de protection lorsqu'un rechargement est en cours, les nouveaux signaux de redémarrage seront ignorés
6. le processus Worker peut ne pas avoir l'autorisation d'envoyer des messages au maître. Le processus envoie des informations. Dans ce cas, vous devez utiliser le compte root et exécuter la commande kill dans le shell pour redémarrer
7. invalide pour les processus utilisateur ajoutés par addProcess
Apprentissage recommandé : tutoriel vidéo 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!