KamoCRM

Żadna praca nie nakłada się na siebie, a żadne połączenie HTTP nie może powiesić pracownika na zawsze

FixDaemonService
Szycy
23 września 2026 01:54 UTC
Autor
Kamo
Pochęt się
d260fad

Kwarc tutaj działa 10 wątków pracownika pamięci na jednej repliki. 17 z 24 miejsc pracy nie miało DisallowConcurrentExecution, więc bieg, który przeraniał jego interwał, rozpoczął drugą kopię obok niego - dla Praca na minutę (podziwiwacze, nagrania, synchronizacja VOIP, synchronizacja detaliczna, sondaż MeridianLink, wypełnianie scenerii, Przypomnienie webinaru...) czyli podwójne przetwarzanie. Sześciu klientów HTTP było „nowymi restTemplate()" bez połączenia lub odczytywane timeout (odświeżniki tokenów Google i Microsoft, system SecurityService LOS i rurociąg Klienci, globalna synchronizacja VOIP i dyspozytor nagrywania), więc jeden zawieszony w dół rzeki zatrzymał swojego pracownika Na zawsze – i z nakładaniem się dozwolonym, brałem innego pracownika co minutę, dopóki każda praca w demonie nie miała Zatrzymał się, cicho, aż do ponownego uruchomienia kapsuły. - DisallowConcurrentExecution w każdej pracy. - Przedziały czasowe każdego klienta: 10 s łączenia wszędzie; przeczytaj 30 s dla punktów końcowych tokenów, 60 s dla Połączenia wewnętrzne SecurityService, 10 minut dla synchronizacji VOIP i wysyłki FFmpeg (ta sama druga Zamiatanie wyzwalaczy już używanych). - DaemonJobSafetyTest przypina obie zasady dotyczące przyszłych miejsc pracy (rejestrowane: usunięcie jednej adnotacji, lub Przywracanie jednego gołego RestTemplate, zmienia kolor na czerwony). Pełny pakiet: 69 testów zielonych.

Wszystkie zmiany

Jak to, co widzisz żeglugę?

Wszystko to pojawia się w twoim miejscu pracy na własną rękę. Zacznij od bezpłatnego planu i przeczytaj tę stronę ponownie w miesiącu.

Start Free ForeverZobacz ceny