Trilha Pleno Trilha

Service objects: idempotência

O curso trata de idempotência em service objects Rails: operações seguras para rodar mais de uma vez com os mesmos argumentos. Parte do conceito e dos três níveis e mostra como cliques duplos, retries de jobs, webhooks repetidos e condições de corrida geram duplicatas. Depois vêm idempotency keys, índices UNIQUE, ON CONFLICT e o padrão de constraint e rescue. Tudo se junta num serviço de três passos com objeto Result, aplicado a jobs e webhooks. O fim traz testes em RSpec que conferem que nada se duplica.

O que você vai aprender

  • ✓O que é idempotência e seus três níveis: natural, por constraint e por chave
  • ✓Como cliques duplos, retries de jobs, webhooks repetidos e corridas geram registros duplicados
  • ✓Como desenhar idempotency keys e guardá-las numa tabela ou no próprio registro
  • ✓Índices UNIQUE e parciais, insert, upsert e ON CONFLICT no PostgreSQL
  • ✓Um padrão de service object em três passos que devolve um Result com Data.define
  • ✓Testes em RSpec para chamadas duplicadas, caminhos de corrida, chaves e efeitos colaterais
Prévia grátis · Aula 1 9 min de leitura

O que é idempotência?

Você entra num quarto escuro e levanta o interruptor. A luz acende. Você levanta de novo, e nada muda, porque a luz já estava acesa. Você pode levantar cinquenta vezes e o resultado é o mesmo: a luz está acesa.

Ler a aula completa grátis →

Currículo

7 aulas
Digite para buscar...