Mamy rozproszoną architekturę opartą na rabbitMQ
i Celery
. Możemy uruchamiać równolegle wiele zadań bez żadnego problemu. Skalowalność jest dobra.Współdziałać z bieżącym zadaniem selera
Teraz musimy zdalnie kontrolować zadanie: PAUSE, RESUME, CANCEL. Jedynym znalezionym rozwiązaniem jest wykonanie w zadaniu Selera wywołania RPC do innego zadania, które odpowiada komendzie po żądaniu DB. Zadanie Celery i zadanie RPC nie znajdują się na tym samym komputerze, a tylko zadanie RPC ma dostęp do bazy danych.
Czy masz porady, jak to poprawić i łatwo komunikować się z bieżącym zadaniem? Dziękuję
EDIT: W rzeczywistości chcielibyśmy zrobić coś jak na zdjęciu poniżej. Łatwo jest wykonać konfigurację Blue
lub Orange
, ale nie wiemy, jak wykonać oba jednocześnie. Pracownicy subskrybują wspólny Jobs queue
, a każdy pracownik ma swój własny Admin queue
zadeklarowany na giełdzie.
EDIT: Jeśli nie jest to możliwe z Celery
, I'am otwarty na rozwiązania z innych ram jak python-rq
.
Dziękuję, ale czy istnieje sposób na wdrożenie kanału zarządzania za pomocą selera? – Julio