14-16 Mar 2026
Voltar ao Plano

Implementar limite de concorrencia nos workers

ACT-3.6
Medio PrazoMediaEsforco: PComplexidade: BaixaParalelizavel
Por que e urgente

`ProcessarOfertasWorker` usa `Task.WhenAll` sem SemaphoreSlim. Com 22 tenants e toleravel, com 150 serao 150 tasks paralelas fazendo chamadas HTTP e queries ao banco simultaneamente

Risco de nao fazer

Exaustao de conexoes HTTP/DB com crescimento de tenants

Modulos Impactados

aspnet-core/src/cargo_fleet.HttpApi.Host/BackgroundJobs/ProcessarOfertasWorker.cs

Passos de Implementacao

  1. 1Adicionar `SemaphoreSlim(maxConcurrency: 5)` para limitar tenants processados em paralelo
  2. 2Aumentar `Timer.Period` de 1ms para pelo menos 30 segundos
  3. 3Remover `Task.Delay` manual e usar o timer do ABP para controle de intervalo
  4. 4Aplicar mesma logica ao `AtualizarOfertasWorker`

Achados Relacionados