3 Stimmen

Wie manuell das Beschneiden und Neustarten von PHP-Resque-Workern erfolgt

Ganz häufig bleiben php-Resque-Arbeiter tagelang bei einer Aufgabe stecken, und schließlich bleiben alle Arbeiter stecken und die Website funktioniert nicht mehr. Die php-resque-Bibliothek wurde mit Composer installiert.

Frage: Ich möchte das Zurückschneiden manuell durchführen. Wie greife ich auf diese Funktion pruneDeadWorkers() zu? Und wenn tote Arbeiter gefunden werden, wie starte ich sie neu?

Quelltext anzeigen

Bildbeschreibung hier eingeben

6voto

Wa0x6e Punkte 1611

Um die Arbeiter manuell zu beschneiden, fügen Sie die Datei vendor/chrisboulton/php-resque/lib/Resque/Worker.php ein, instanziieren Sie einen Worker und rufen Sie dann pruneDeadWorkers() auf;

pruneDeadWorkers();

php-resque wird nicht mit einer Funktion zum Neustarten von Workern geliefert, schauen Sie sich fresque dafür an.

Um zu vermeiden, dass tote Arbeiter entstehen, kompilieren Sie Ihr php mit pcntl_fork, um Ihre Aufgaben in einem Fork auszuführen und sie von den Arbeitern zu isolieren.

0voto

saeedeh Punkte 343

Finde zuerst die Worker-Liste: Resque_Worker::all(); diese enthält die Worker-ID gemäß php-resque Dokumentation Geben Sie im Befehlszeilenfenster ein

`kill workers id`

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X