Laravel 5: Mehrere Worker - Auftrag kann nicht gelöscht werden XXXXXX: NOT_FOUND

8

Ich erstelle eine Website mit Laravel 5. Ich benutze Warteschlangen mit Bohnenstange mit 2 Röhren. Ich habe 10 Arbeiter von daemontools überwacht. 5 Arbeiter verarbeiten Rohr A und B. Die anderen 5 Arbeiter verarbeiten nur Rohr B.

Die meiste Zeit arbeiten die Dinge gut, aber manchmal scheint die Röhre B zu blockieren. Die Protokolle zeigen, dass die Arbeiter eine Ausnahme auslösen.

%Vor%

Ich frage mich, ob das Problem von mehreren Arbeitern verursacht werden könnte, die denselben Job anstreben. Ist das möglich oder gibt es eine Art Mutex, um das zu kontrollieren?

Was könnte das sonst noch verursachen?

    
Kebian 24.04.2015, 07:50
quelle

3 Antworten

13

Der Befehl in der Warteschlange hat zu lange gedauert und das Problem wurde durch den TTR-Wert in der Röhre in beanstalkd verursacht, aber es ist nicht notwendig, diesen Wert zu ändern.

Kurz gesagt, Beanstalkd behält den Job nur für einen maximalen Zeitraum (bis zur TTR) reserviert und geht dann davon aus, dass etwas schiefgelaufen ist, und bringt den Job zurück in den Bereitschaftszustand.

Stattdessen ist es möglich, den Job periodisch zu berühren , um den Reservierungstimer zurückzusetzen.

In Laravel habe ich das zu meiner App \ Commands \ Command-Klasse hinzugefügt, und ich rufe es regelmäßig bei langen laufenden Jobs innerhalb von Schleifen auf.

%Vor%     
Kebian 18.05.2015, 17:44
quelle
1

Hatte das gleiche Problem. Meine Arbeiten dauerten mehr als 60 Sekunden. Das Erhöhen des TTR-Werts in der Konfigurationswarteschlange auf der Standard-Tube hat den Zweck erfüllt. Hoffe das hilft.

    
Mirceac21 28.04.2015 16:51
quelle
0

Um genauer zu sein, können Sie die oben angegebene Arbeitsfunktion verwenden und in Ihrem Job Folgendes tun:

1) Deklarieren Sie eine Eigenschaft und legen Sie ihren Wert im Konstruktor fest:

%Vor%

2) Dann messen Sie den Zeitunterschied innerhalb Ihrer Schleife. In meinem Fall habe ich Tausende von Bildern heruntergeladen und zugeschnitten. In diese Schleife habe ich Folgendes eingefügt:

%Vor%     
Joshua Hutchison 09.03.2017 21:41
quelle

Tags und Links