Voltar ao PlanoACT-5.2.7
Pre-carregar rotas em lote no RegistrarOfertaService
2a Pass. CurtoMedia-AltaEsforco: MComplexidade: MediaParalelizavel
Modulos Impactados
aspnet-core/src/cargo_fleet.Application/BackgroundJobs/RegistrarOfertaService.cs
Passos de Implementacao
- 1Antes do loop de ofertas, coletar todas as combinacoes unicas de `(Origem, Destino, Carga)` das ofertas do batch
- 2Buscar todas as rotas correspondentes em uma unica query com `OR` ou multiplas chaves
- 3Criar dicionario `Dictionary<(Origem, Destino, Carga), Rota>` para lookup O(1) dentro do loop
Query de rota dentro de loop por oferta gera 13.200 queries de rota por ciclo
Pressao constante no banco com queries pequenas e frequentes