Heim  >  Artikel  >  PHP-Framework  >  So starten Sie den Swoole-Prozess neu, nachdem er geschlossen wurde

So starten Sie den Swoole-Prozess neu, nachdem er geschlossen wurde

尚
Original
2019-12-16 09:32:432844Durchsuche

So starten Sie den Swoole-Prozess neu, nachdem er geschlossen wurde

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-Tutorial

Das 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn