KamoCRM

Nenhum trabalho se sobrepõe, e nenhuma chamada HTTP pode pendurar um trabalhador para sempre

FixDaemonService
Navios
23 de setembro de 2026 às 01:54 UTC
Autor
Kamo
Enviar
d260fad

O Quartz aqui tem 10 linhas de trabalho em memória numa réplica. 17 dos 24 postos de trabalho @DisallowConcurrentExecution, então uma execução que sobrepôs seu intervalo começou uma segunda cópia ao lado dele — para os trabalhos por minuto (lembranças, gravações, sincronização VOIP, sincronização a retalho, sondagem MeridianLink, preenchimento de cenários, lembretes webinar...) isso é processamento duplo. Seis clientes HTTP eram `novo RestTemplate()` sem conexão ou tempo limite de leitura (as atualizações de token do Google e Microsoft, a aplicação LOS do SecurityService e pipeline clientes, a sincronização global VOIP e o expedidor de gravação), então um pendurou a jusante manteve seu trabalhador para sempre — e com sobreposição permitida, levou outro trabalhador a cada minuto até que cada trabalho no daemon tinha parou, silenciosamente, até uma cápsula reiniciar. - @DisallowExecutionConcurrent em cada trabalho. - Tempo limite em cada cliente: 10 s conectar em todos os lugares; leia 30 s para endpoints token, 60 s para o SegurançaServiço chamadas internas, 10 min para a sincronização VOIP e FFmpeg despacho (o mesmo ligado o outro varrer gatilhos já usados). - DaemonJobSafety Testa ambas as regras para trabalhos futuros (verificados por mutação: remoção de uma anotação, ou restaurando um RestTemplate nu, torna-o vermelho). Suíte completa: 69 testes verdes.

Todas as alterações

Como o que vês no transporte?

Tudo isso chega em seu espaço de trabalho por conta própria. Comece no plano gratuito e leia esta página novamente em um mês.

Começar Livre Para SempreVer Preços