14-16 Mar 2026
Voltar ao Plano

Separar background workers da API

ACT-3.1
Medio PrazoMediaEsforco: GComplexidade: Alta
Por que e urgente

Workers executam dentro do processo da API. Escalar a API duplica workers (cada replica processa todos os tenants). Resource limits sao compartilhados

Risco de nao fazer

Impossibilidade de escalar API independentemente; workers competem por CPU/memoria com requests HTTP

Modulos Impactados

Novo projeto cargo_fleet.Worker (ou cargo_fleet.BackgroundWorker)cargo_fleetHttpApiHostModule.csKubernetes manifests

Passos de Implementacao

  1. 1Criar novo projeto .NET Worker Service referenciando Application e EntityFrameworkCore
  2. 2Mover `ProcessarOfertasWorker`, `AtualizarOfertasWorker`, `VerificarRotasWorker`, `RetentionPolicyWorker` para o novo projeto
  3. 3Remover registro dos workers do `cargo_fleetHttpApiHostModule`
  4. 4Criar Dockerfile e deployment Kubernetes separado para o worker
  5. 5Configurar resource limits adequados para cada tipo de workload
  6. 6Testar que os workers continuam funcionando com distributed locks

Achados Relacionados