14-16 Mar 2026
Logica do Sistema

Background Workers — Resumo

Secao 12

ProcessarOfertasWorker

AtributoValor
Arquivocargo_fleet.HttpApi.Host/BackgroundJobs/ProcessarOfertasWorker.cs
Timer.Period1ms (continuo)
Throttle real5 minutos por tenant via Task.Delay
Estrategia por tenantParalelo (Task.WhenAll) sem limite de concorrencia
FuncaoCriar novas ofertas (CriarOfertasJob) + aceitar automaticamente (AceitarOfertasJob)
StatusAtivo — logica nova e correta

AtualizarOfertasWorker

AtributoValor
Arquivocargo_fleet.HttpApi.Host/BackgroundJobs/AtualizarOfertasWorker.cs
Timer.Period1ms (mas sequencial por design)
Estrategia por tenantSequencial (foreach + await)
FuncaoAtualizar status de ofertas aceitas, criar OfertaRecords, enviar WhatsApp
StatusAtivo

VerificarRotasWorker

AtributoValor
Arquivocargo_fleet.HttpApi.Host/BackgroundJobs/VerificarRotasWorker.cs
Timer.Period1 dia
FuncaoAlertar sobre rotas expirando hoje via Firebase
StatusAtivo

RetentionPolicyWorker

AtributoValor
Arquivocargo_fleet.HttpApi.Host/BackgroundJobs/RetentionPolicyWorker.cs
Timer.Period1 dia
FuncaoLimpar registros antigos de ApiStatus (>4 meses)
StatusAtivo — desabilita filtro IMultiTenant para processar todos os tenants

RegistrarOfertasWorker (legado)

AtributoValor
Arquivocargo_fleet.HttpApi.Host/BackgroundJobs/RegistrarOfertasWorker.cs
Timer.Period1ms
Estrategia por tenantParalelo (Task.WhenAll)
FuncaoCriar e aceitar ofertas (logica legada, endpoint antigo da Galileu)
StatusRegistrado no DI, mas com bug P-02 (autenticacao invertida) que faz todos os ciclos falharem imediatamente
RiscoSe P-02 for corrigido sem desativar o worker, passa a rodar em paralelo ao ProcessarOfertasWorker (P-01 torna-se imediato)