Nachdem der Swoole-Prozess geschlossen wurde, können Sie ihn mit der Methode „Server->reload“ neu starten.
Einführung in die Server->Neulademethode:
Alle Worker-/Task-Prozesse neu starten.
bool Server->reload(bool $only_reload_taskworkrer = false)
$only_reload_taskworkrer Ob nur der Task-Prozess neu gestartet werden soll
Ein ausgelasteter Back-End-Server verarbeitet jederzeit Anfragen. Wenn der Administrator das Serverprogramm beendet/neu startet, indem er den Prozess beendet kann einen Absturz verursachen. Der Code wird mitten in der Ausführung beendet.
In diesem Fall kommt es zu Dateninkonsistenzen. In einem Handelssystem ist der nächste Abschnitt der Zahlungslogik beispielsweise der Versand. Es wird davon ausgegangen, dass der Prozess nach der Zahlungslogik beendet wird. Dies führt dazu, dass der Benutzer die Währung bezahlt, die Ware jedoch nicht liefert, und die Folgen sind sehr schwerwiegend.
Swoole bietet einen flexiblen Beendigungs-/Neustartmechanismus. Der Administrator muss lediglich ein bestimmtes Signal an den Server senden, und der Worker-Prozess des Servers kann sicher beendet werden.
1. SIGTERM: Senden Sie dieses Signal an den Hauptprozess/Verwaltungsprozess und der Server wird sicher beendet
2 Im PHP-Code können Sie $serv->shutdown() aufrufen Schließen Sie diesen Vorgang ab
3. SIGUSR1-Signal an den Hauptprozess/Verwaltungsprozess senden, der alle Worker-Prozesse reibungslos neu startet
4. Im PHP-Code können Sie $serv-> aufrufen ;reload(), um diesen Vorgang abzuschließen
5. Reload verfügt über einen Schutzmechanismus, wenn ein Neuladen ausgeführt wird, werden neue Neustartsignale verworfen
6. Der Worker-Prozess hat möglicherweise keine Berechtigung, Nachrichten an den Master zu senden. In diesem Fall müssen Sie das Root-Konto verwenden und den Kill-Befehl in der Shell ausführen ungültig für Benutzerprozesse, die von addProcess hinzugefügt wurden
Empfohlenes Lernen:
Swoole-Video-TutorialDas obige ist der detaillierte Inhalt vonSo starten Sie den Swoole-Prozess neu, nachdem er geschlossen wurde. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!