Mam następujących konfiguracji:Czy zatwierdzane są zadania wstępne w selera naciowego?
- RabbitMQ maklera + Django
- Seler z CELERYD_PREFETCH_MULTIPLIER = 32 (mam dużo małych zadania zatem preselekcji im sprawia, że wiele sensu z realizacji punktu widzenia)
- CELERY_ACKS_LATE = Fałsz (zadania nie są idempotentne)
Prowadzę seler w pojemniku dokera, więc po przebudowie dokerów pracownicy sektora selerów nie są z wdziękiem zamykani. To jest w porządku, jeśli zadania nie zostaną potwierdzone, ponieważ broker odeśle je, gdy robotnicy powrócą do nowego kontenera dokowanego, ale w innym przypadku - zostaną utracone.
W panelu administracyjnym, zadania z panelu administracyjnego mają status odebrany.
Przeczytałem uważnie oficjalną dokumentację i related question i intuicyjnie uważam, że wstępnie zadeklarowane zadania w mojej konfiguracji są uznawane. Czy to prawda?
To brzmi rozsądnie, ale zadania z wyprzedzeniem w kwiatku są oznaczone jako "ODBIERANE" - czy to oznacza, że nie zaczęto ich wykonywać? –
Domyślam się, że "ODBIERZ" oznacza "Unacked" pod względem Rabbitmq. Inni pracownicy nie mogą ich wstępnie pobrać, ponieważ nie są "gotowi". Ale jeśli pracownik utraci połączenie bez potwierdzenia, stanie się "Gotowy". – Raz
Ale jeśli zrestartuję serwer selera (twardy restart), w jaki sposób rabbitmq będzie wiedział, że te zadania można przypisać do innych węzłów? –