Heim  >  Artikel  >  PHP-Framework  >  Der Timer im Workerman wird nicht wirksam

Der Timer im Workerman wird nicht wirksam

王林
王林Original
2019-12-13 09:51:142708Durchsuche

Der Timer im Workerman wird nicht wirksam

Die Frage führt zu:

Fügen Sie einen WorkermanLibTimer in start_gateway.php ein und führen Sie ihn alle zwei Sekunden aus. Bei jeder Ausführung wird zunächst ein Textstück in einer Textdatei aufgezeichnet.

Es gibt kein Problem, wenn es als php start.php start ausgeführt wird, aber wenn es als php start.php start -d ausgeführt wird, scheint es, dass der Timer nicht läuft.

start_gateway.php-Code lautet wie folgt

Der Timer im Workerman wird nicht wirksam

Der Timer im Workerman wird nicht wirksam

Der Timer im Workerman wird nicht wirksam

Problem gelöst:

Die Geschäftslogik muss im onXXX-Rückruf ausgeführt werden (im Handbuch hervorgehoben). Mit anderen Worten, der Timer kann nicht ausgeführt werden, bevor Worker::runAll(); ausgeführt wird.

Da der Code, der vor der Ausführung von Worker::runAll(); ausgeführt wird, zum Hauptprozess gehört, kann der Hauptprozess keinen Geschäftscode haben und der Geschäftscode des Hauptprozesses wird vom untergeordneten Prozess geerbt. Dies führt dazu, dass die erwarteten Ergebnisse nicht übereinstimmen.

Im obigen Beispiel kann der Timer in onWorkerStart ausgeführt werden. Es wird empfohlen, ihn in den $businessworker->onWorkerStart-Rückruf in start_businessworker.php einzufügen.

Empfohlene verwandte Artikel und Tutorials: Workerman-Tutorial

Das obige ist der detaillierte Inhalt vonDer Timer im Workerman wird nicht wirksam. 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