Voltar ao PlanoACT-3.6
Implementar limite de concorrencia nos workers
Medio PrazoMediaEsforco: PComplexidade: BaixaParalelizavel
Modulos Impactados
aspnet-core/src/cargo_fleet.HttpApi.Host/BackgroundJobs/ProcessarOfertasWorker.cs
Passos de Implementacao
- 1Adicionar `SemaphoreSlim(maxConcurrency: 5)` para limitar tenants processados em paralelo
- 2Aumentar `Timer.Period` de 1ms para pelo menos 30 segundos
- 3Remover `Task.Delay` manual e usar o timer do ABP para controle de intervalo
- 4Aplicar mesma logica ao `AtualizarOfertasWorker`
`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
Exaustao de conexoes HTTP/DB com crescimento de tenants