Być może nie rozumiem, jak to działa (dlatego właśnie pytam), ale myślę, że gdy pracownik selera zużywa zadanie od RabbitMQ, to blokuje to - że tak powiem - a następnie musi potwierdzić to ukończenie to zadanie jest gotowe. Powiedzmy, że mam 4 pracowników, dla których wszystkie mają ustawienie pobierania wstępnego na 1 i kolejki 6 zadań, które zajmują dużo czasu. Raz zacznę tych pracowników i biegnę:Kiedy pracownik selera potwierdza firmie RabbitMQ, że ma zadanie?
rabbitmqctl -q list_queues name messages messages_ready messages_unacknowledged
będę oczekiwać, aby zobaczyć coś takiego:
celery 6 2 4
wskazując, że 4 Zadania są wyświetlane (ale nie został jeszcze potwierdzony) i 2 są gotowe do strawiony.
Myślę, że moje rozumienie jest błędne, ponieważ to, co rzeczywiście zobaczyć to:
celery 2 0 2
Więc to tak, jakby przyznając się dzieje, gdy wiadomość została odebrana przez pracownika, ale przed tym pracownik zakończy przetwarzanie tego zadania.
Podsumowując, moje pytanie brzmi: kiedy pracownik selera przyznaje, że ma zadanie? Wygląda na to, że jest po otrzymaniu tego zadania i rozpoczyna pracę nad nim, a nie po zakończeniu pracy nad nim. Czy ktoś może potwierdzić?
A to jest Python? –
Yah Myślę, że oznaczanie jako Python jest zbyt szerokie, usunięto ten tag. – Bialecki