Skip to main content
A AWSales utiliza tarefas agendadas (cron jobs) para processamento em background que executa de forma recorrente. Esses agendadores tratam operações sensíveis ao tempo que não podem ser orientadas puramente por eventos — como liquidar custos acumulados, expirar prazos de retenção e outros trabalhos periódicos de reconciliação. Cada agendador é um comando CLI standalone disparado externamente por um agendador cron (ex.: AWS EventBridge Scheduler, CloudWatch Events). Cada execução roda como um processo independente e stateless — não há estado compartilhado entre execuções além do que está persistido no banco de dados ou cache.

Agendadores Disponíveis

Dispatcher de Liquidação de Custos

Busca registros de custo não faturados e os despacha para a camada de cache para liquidação em lote. Executa a cada 15 minutos.

Processador de Liquidação de Custos

Lê lotes de custo despachados do cache, cria registros de liquidação e reporta o uso aos billing meters. Executa a cada 15-30 minutos.

Expiração de Retenção de Offboarding

Verifica solicitações de offboarding que passaram do prazo de retenção e publica eventos de expiração. Executa uma vez por dia.

Formato de Agendamento Cron

Os agendadores utilizam expressões cron padrão para agendamento. Aqui estão os formatos utilizados:
ExpressãoSignificadoUsado Por
*/15 * * * *A cada 15 minutosDispatcher de Liquidação de Custos
*/30 * * * *A cada 30 minutosProcessador de Liquidação de Custos
0 0 * * *Uma vez por dia à meia-noite UTCExpiração de Retenção de Offboarding

Modelo de Execução

Os agendadores seguem um modelo de execução fire-and-forget. Cada invocação é independente — o agendador processa qualquer trabalho disponível naquele momento e encerra. Se não há nada para processar, a execução completa imediatamente sem efeitos colaterais. Não existe um processo de agendador persistente; o trigger cron cria um novo processo a cada vez.
Todos os agendadores devem ser idempotentes. Como triggers cron podem ocasionalmente disparar duas vezes (clock skew, retry por timeout, execuções sobrepostas), todo agendador deve lidar graciosamente com execuções duplicadas. Isso é alcançado através de mecanismos como deduplicação baseada em cache (Dispatcher de Liquidação de Custos), operações atômicas de leitura-e-exclusão (Processador de Liquidação de Custos) e consultas baseadas em status (Expiração de Retenção de Offboarding).