Planeador e tarefas de fundo
(Seção Operações e Gerenciamento)
1) Destino
O planeador e as tarefas de fundo fornecem o trabalho extra-uso da plataforma, como cálculos periódicos, publicações de artefatos, clearing e réplicas de filas. Os objetivos são determinação, resistência a falhas e áudio.
2) Taxonomia de tarefas
Time-based: cronograma (cron/calendário): clearing, encerramento de janelas RTP, download, arquivamento.
Event-driven: desencadeadores de pneu (PaymentsSettled, PriceListUpdated).
One-off/Ad-house: Jobs único com TTL.
Long-running: bacof/sagas, compactos de streaming.
Maintenance: Rotação de chaves, Repakage, Índices, armazenamento de dinheiro.
3) Arquitetura (arbitragem)
Componentes:1. Scheduler (controle-plano): armazena agendamento, CAL/cron, janelas de manutenção, temporizadores, limitadores.
2. Dispatcher: plano → fila (per-priority/tenant/region), exibe deadline, chaves idumpotentes.
3. Workers: scail estático/automático sob os poóis de tarefas; heartbeats, leases.
4. Queue/Ônibus: FIFO/prioretização, DLQ, mensagens adiadas.
5. Locker/Coordenação: bloqueios distribuídos (leases), líder eletrónico (Raft/ZK/Consul).
6. Vault/KMS: segredos JIT, TTL curtos.
7. Observabilidade: traces/metrics/logs, dashboards, alerts.
8. Check/WORM: Recibos de execução imutáveis, cortes Merkle.
Pattern: outbox/CDC, idempotency, compensações (sagas), backpressure, circuito-breakers.
4) Horários: cron e calendários
Cron v3: segundo/minuto/hora/dia/mês/dia/semana; suporte a «/5 », faixas, listas.
Calendários/exceções: calendário de negócios, «janelas de silêncio», feriados/DST.
Timzons: guarde 'tz' na tarefa; Iniciar a hora local do tenante.
Multiregião: cópias de agendamentos per-region ou «região líder + folhetim» com reaproximação à deriva.
5) Filas, prioridades, SLA
Classes de prioridade: P0 (crítica), P1, P2, P3; balas individuais de worker.
SLA/deadline: 'must _ start _ by', 'must _ finish _ by'; passe - escalação/retrai.
Quotas e fairness: caps em tarefas/min/tenante, tokens em «burst», isolamento noisy-neighbors.
Tarefas adiadas são «no máximo» (delay/visibility timeout).
6) Competição e bloqueios
Leases: aluguel de trabalho com extensão automática (heartbeat); Tempo-a-tempo é uma reeleição.
Mutex/semafora: por-recurso (por exemplo, «folha de price x escreve apenas um worker»).
Charding por 'tenant/region/hash (key)'; sticky-roting para o dinheiro e localidade de dados.
Líder eletrónico: um líder publica jobs do sistema (por exemplo, «fechar todas as janelas RTP»), e os folheters, um padrão quente.
7) Confiabilidade: retrai, idempotação, dedução
Chave Idempotente: '(task _ tipo, business _ id, window)'; As repetições → o mesmo recibo.
Retrai: back-off exponencial + jitter, limite de tentativa, estratégia on-erro (retry/cancel/compensate).
Poison-pill: Tradução rápida para DLQ após N falhas, alert ao proprietário.
Dedup: seen-cachê (in-memory + KV) na janela TTL.
Efeitos exactly-once: confirmação de efeitos colaterais através de um diário/recibo transacionado.
8) Gerenciamento de tarefas longas e difíceis
Chunking: divisão em batch, checkpoint/sequência.
Time-boxing: limite CPU/IO/egress de rede; interrupção com progressão.
Sagas/compensações: semântica «undo» para passos entre servidores.
Concurrency-caps: limites de tarefas simultâneas por tipo/tenante/região.
9) Observabilidade e métricas
Traques: 'trace _ id', passos da saga, chamadas externas.
Metrics (SLI):- Lag até a partida, fila (comprimento, idade p95).
- Success Rate, error-rate, retry-rate.
- Latency p50/p95, time-to-complete.
- Vale por 1k tarefas, egress/ingress.
- DLQ rate, poison-pill rate.
- P0 início ≤ 60 s, P1 ≤ 5 min; Success ≥ 99. 5%; DLQ ≤ 0. 1%; Freshness ≤ 30 p95.
10) Auditoria e provabilidade
Recibos de 'receipt _ hash' para início/sucesso/erro, assinaturas DSSE para tipos críticos (pagamentos, folhas de price, RTP).
WORM: armazenando logs de execução e manifestos de tarefas.
Chain-of-custody: quem colocou/aprovou/alterou o horário; Verificações SoD.
11) Segurança e acessibilidade
RBAC/ABAC/ReBAC: quem cria/aprova/executa; «Criar um pagamento» «aprovar».
Segredos JIT: O Worker pede tokens com uma TTL curta por tarefa.
Isolamento: pool de worker per-tenant/region/malha; Performance sandbox.
Higiene PII: camuflagem/toquenização, proibição de logar o primário.
12) FinOps e custo
Orçamentos/caps alerts em compute/armazenamento/egress.
Scale automático de worker em filas e SLO.
Classes de armazenamento quente (7-30 dias) → OLAP (6-24 m) → arquivo.
Custo-aware planejamento: janela de lançamento em «relógios baratos», limites no egress.
13) Modelo de dados (simplificado)
14) API contratos (gestão/integração)
'POST/schedulas' - Criar a programação (cron/cal, tz, janelas).
'POST/jobs' - coloque ad-house; devolver 'job _ id', 'receipt _ hash'.
'GET/jobs/diante de' é o status/logs/recibos.
'POST/jobs/diante de um aplicativo de compensação.
'GET/queues/stats' - comprimento, laje, p95.
Вебхуки: `JobStarted`, `JobSucceeded`, `JobFailed`, `JobDroppedToDLQ`, `SLOViolated`.
15) Playbooks (cenários típicos)
Retry-storm: ativar o back-off global, levantar temporizações de dependências, ligar circuito-breaker, torcer batches.
Avalanche DLQ: parar a recepção, priorizar a análise do DLQ, tampar novas tarefas.
O líder caiu, a reeleição, a verificação das «publicações duplas» de Idempotação, a auditoria.
Veta do provedor (PSP/KYC): rota para reserva, redução da frequência polling/webhooks, transferência de transações para quarentena.
A fuga dos segredos do worker, a revisão das chaves, a rotação, a busca de lançamentos «anormais» em 30 dias, a rever os direitos.
16) Especificidades do iGaming/fintech
Pagamentos/pagamentos: pacotes de asincrona com recibos, quarentena de transações cinzentas, réplicas de filas com dedução.
RTP janelas/limites: encerramento de calendário, vs observada RTP teórica, auto-pausa promoção à deriva.
Listras de Price/FX/Tax: publicações programadas, versões de artefatos, força deficiente do cachê.
Filiais: Acerto de conversões, dedução de webhooks, atos/assinaturas, escrutínio.
17) Métricas de qualidade (exemplo de conjunto)
Schedule Adherence: O número de tarefas iniciadas na janela ≥ de 99%.
Queue Lag p95: P0 ≤ 60 c, P1 ≤ 5 min
Success/Retry/DLQ Rate: ≥ 99. 5% / ≤ 0. 4% / ≤ 0. 1%.
Idempotency Errors: ≤ 0. 01%.
Costa/1k jobs e Egress/job - dentro do orçamento.
Auditório Completeness: 100% de tarefas críticas com recibos.
18) RACI
19) Folha de cheque de implementação
- Selecionar classes de tarefas, prioridades e SLA; definir calendários e temporizões.
- Implantar o Scheduler/Dispatcher/Queue/Workers com o líder eletrónico e o charding.
- Introduzir idempotidade, retraí, DLQ, compensações (sagas).
- Personalizar segredos RBAC/ABAC/ReBAC, SoD e JIT para os workers.
- Incluir trekes/metrics/logs, dashboards e alertas; SLO и error-budget.
- Recibos assinados (DSSE) e registros WORM para tipos críticos.
- Scale automático e cap alerts de custo (compute/armazenamento/egress).
- Playbooks: retry-storm, avalanche DLQ, falha do líder, degradação do provedor.
- Testes: GameDay de cada playbook, injeções de atrasos/erros.
- Reavaliação regular dos horários, das filas e da automação ROY.
20) FAQ
Porque é que o cron não é suficiente?
Sem filas, idempotação, bloqueios e auditoria, o cron é quebrado em falhas e fusos horários.
É possível combinar time-based com event-driven?
Sim: cron - seguro para catch-up; eventos são para a reatividade.
Como consegues «um dia»?
Deadup por chave, registro de efeitos transacionado, recibos e efeitos secundários idumpotentes.
O que fazer com os «longos» jobs?
Chank, checkpoint, time-boxing, a possibilidade de interromper e continuar.
Como não comer o orçamento?
Scale automático em filas e SLO, relógios baratos para o pesado, caps rígidos egress/compute.
Resumo: Planeador e tarefas de fundo são a linha de montagem de produção da plataforma. Incorporando horários e filas, idimpotência, bloqueios e observabilidade, adicionando recibos/auditoria, isolamento de tenentes e controle de FinOps, você terá prazos previsíveis de cumprimento, recovery rápido e operações legalmente aplicáveis em qualquer região e carga de trabalho.