Trilha Pleno Trilha

Background jobs: ActiveJob

O curso examina o ActiveJob::Base, a camada de framework para a qual os jobs desta aplicação são escritos, acima do backend que os roda. Trata do adaptador de fila definido por ambiente, da serialização de argumentos como GlobalID ou id simples e de quando retry_on e discard_on têm alguma exceção para capturar. Mostra ainda como limits_concurrency e queue_as viram colunas nas tabelas do Solid Queue, os callbacks de perform e o deliver_later, que coloca um job do ActionMailer na fila pelo mesmo adaptador.

O que você vai aprender

  • ✓Como o queue_adapter roda o mesmo job no :async em desenvolvimento e no :solid_queue em teste e produção
  • ✓Como o ActiveJob serializa um registro como GlobalID, e por que a aplicação passa um id simples com find_by
  • ✓Quando retry_on e discard_on se aplicam, conforme uma exceção chegue ou não ao perform
  • ✓Como o limits_concurrency grava uma concurrency_key e manda um segundo job para as execuções bloqueadas
  • ✓Como queue_as, queue_with_priority e config/queue.yml definem qual worker reserva um job
  • ✓Como o deliver_later coloca na fila o ActionMailer::MailDeliveryJob, e onde entram os callbacks de perform
Prévia grátis · Aula 1 3 min de leitura

A camada de framework acima do backend

O curso de nível Pleno "Solid Queue: arquitetura de jobs", anterior nesta série, examinou as tabelas em que o estado de um job é guardado e reservado. Todas essas tabelas pertencem ao Solid Queue, um backend. Os jobs desta aplicação não são escritos para o Solid Queue, e sim para o ActiveJob::Base,…

Ler a aula completa grátis →

Currículo

7 aulas
Digite para buscar...