Issue with multiple consumers - re-delivering in progress jobs
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 25/100
- Issue-Typ
- Bug
- Klarheit
- Muss geklärt werden
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- php
- Bereich
- backend, distributed-systems
Rechercherichtung
Beginne damit, das Problem mit zwei bin/cake-Worker-Prozessen unter Verwendung der process-invoices-Konfiguration und eines lang laufenden Jobs zu reproduzieren. Lies den Worker-Einstiegspunkt und den gemeldeten Fehler in ArrayProcessorRegistry.php und vergleiche anschließend das Verhalten mit eindeutigen und gemeinsam genutzten Prozessornamen. Als abgeschlossen gilt, dass mehrere Worker wartende Jobs ohne erneute Zustellung oder Processor was not found-Fehler verarbeiten können.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Hello,
I'm not sure if I have found a bug or if this just a case of user error.
I am having an issue with running multiple workers on long running jobs (~20 minutes).
When add a message into the queue and then start 2 workers using the following command
bin/cake worker -c process-invoices -p process-invoices
Initially, 1 worker will begin to process the job. However, after about 5 minutes, the other worker also begins to start working on the same job.
I have set $maxAttempts = 1 in the job class.
Next, I tried to bind each processor to an unique name
bin/cake worker -c process-invoices -p process-invoices1
and
bin/cake worker -c process-invoices -p process-invoices2
The message is only picked up by 1 worker, however if another message gets added to the queue, the other worker receives the following error:
[LogicException] Processor was not found. processorName: "process-invoices2" in /var/www/html/vendor/enqueue/enqueue/ArrayProcessorRegistry.php on line 33
And when I don't bind the processor name and run the following command twice to create 2 workers
bin/cake worker -c process-invoices
I receive a similar error:
error: [LogicException] Processor was not found. processorName: "Cake\Queue\Queue\Processor63e2a1884f1c4" in /var/www/html/vendor/enqueue/enqueue/ArrayProcessorRegistry.php on line 33
For reference, the config for the queue is:
'Queue' => [
'process-invoices' => [
'url' => null,
'queue' => 'process-invoices',
'logger' => 'stdout',
'receiveTimeout' => 10000,
'storeFailedJobs' => true,
],
],
I am unable to figure out a method of having multiple workers without the errors or re-processing jobs.
Is there any config setting (visibility timeout) that I am missing to resolve my issues?
Thanks!
- Vorherrschende Sprache
- PHP
- Sterne
- 36
- Forks
- 22
- Ø Merge
- 20 Std. 36 Min.
- Gemergte PRs (30 T.)
- 2
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus cakephp/queue
-
enhancement
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 48/100
-
Templates/views Offen
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 20/100
-
bug
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 30/100
-
enhancement
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
Ähnliche Issues
-
sync-en
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 85/100
-
sync-en
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 85/100
-
Перевод устарел
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 78/100
-
[6.x]: "Cannot use object of type stdClass as array" loading Users index (regression of #19182) Offen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100