Opis projektu
PrzetłumaczoneObserwowalność jest równie ważna. Potrzebujemy panelu monitorującego pokazującego rzeczywisty obraz: przepustowość na kolejkę w czasie rzeczywistym, liczniki sukcesów i błędów, aktualną głębokość kolejki oraz ile zadań czeka w porównaniu do tych, które są wykonywane, oraz średni i najgorszy czas przetwarzania. Kiedy zadanie nie powiedzie się, chcę zobaczyć błąd, użyteczne dane, historię ponownych prób i mieć możliwość ręcznego zwrócenia go do kolejki jednym kliknięciem. Panel musi również pozwalać nam na wstrzymanie kolejki, łagodne zamknięcie pracowników i inspekcję zaplanowanych zadań przed ich uruchomieniem. Aby wyjaśnić zakres: to nie jest interfejs użytkownika dla cron, który po prostu uruchamia powtarzające się zadania, ani retransmiter webhooków. Skupiamy się na asynchronicznym przetwarzaniu pracowników oraz silnej obserwowalności wokół tego.
Proponuj rozwiązanie przechowywania backendowego i uzasadnij wybór. Zależy mi na gwarancjach dostawy przynajmniej raz, bezpiecznej operacji z równoległymi pracownikami, aby zadanie nigdy nie było uruchamiane dwa razy, oraz poprawnym łagodnym zamknięciu podczas wdrażania. Potrzebujemy przetestowanego kodu z jasną dokumentacją do konfiguracji, aby zespół mógł go uruchomić i rozszerzyć.
— Nazwane kolejki z pulami pracowników i konfigurowalną współbieżnością
— Ponowne próby z wykładniczym opóźnieniem i kolejka martwych listów
— Zadania opóźnione i zaplanowane, dostępne w określonym czasie
— Panel na żywo: przepustowość, błędy, głębokości kolejki, opóźnienia
— Ręczny powrót do kolejki, wstrzymanie i łagodne zamknięcie pracowników