Trilha Pleno Trilha

Jobs em background idempotentes

O curso mostra como escrever um job em background que pode rodar mais de uma vez sem causar dano, com o Partners::FetchSiteIconJob como exemplo ao longo das aulas. Ele compara a checagem feita no enfileiramento com a feita dentro do perform. Depois apresenta três ferramentas para um passo: conferir o estado, usar um índice único com create_or_find_by! e gravar estados absolutos. Um segundo passo hipotético mostra onde uma guarda só falha. Por fim, trata de reservas gravadas antes do efeito, da ordem dos passos e de GET contra POST com chave de deduplicação.

O que você vai aprender

  • ✓Por que a guarda dentro do perform protege novas tentativas e a checagem no enfileiramento não
  • ✓Três formas de tornar um passo seguro de refazer: checagem de estado, índice único e escrita absoluta
  • ✓Como seguir cada ponto de queda entre dois efeitos de um job
  • ✓Como proteger um passo com uma linha de reserva sob índice único, gravada antes do efeito
  • ✓Por que deixar o passo menos seguro por último reduz o estrago de uma guarda que falta
  • ✓A diferença entre GET e um POST externo que precisa de chave de deduplicação
Prévia grátis · Aula 1 4 min de leitura

Um guarda nunca foi o trabalho inteiro

Dois cursos já apontaram para cá pelo nome. O curso de nível Pleno "Padrão: chaves de idempotência" construiu uma guarda de reservar, trabalhar, concluir em volta de uma operação inteira, e fechou descrevendo este: "Aquele faz uma pergunta mais difícil: como projetar um job para ser seguro de…

Ler a aula completa grátis →

Currículo

7 aulas
Digite para buscar...