Trilha Pleno Trilha

Solid Queue: prioridades

Este curso acompanha o número de prioridade de cada job no Solid Queue. Mostra de onde ele vem quando nenhum job define um: o Rails devolve nil e o Solid Queue grava 0. Trata do queue_with_priority fixo e com bloco, da substituição por chamada com .set(priority:) e da precedência fixa entre eles. Mostra que novas tentativas mantêm a prioridade, a menos que o retry_on defina outra. Explica como um único scope ordena execuções prontas e bloqueadas, e por que a prioridade nunca envelhece. Termina com níveis nomeados para jobs que dividem uma fila.

O que você vai aprender

  • ✓Como o nil do Rails vira o DEFAULT_PRIORITY 0 do Solid Queue
  • ✓O queue_with_priority fixo e com bloco, e como o .set(priority:) passa por cima dos dois
  • ✓Como novas tentativas mantêm a prioridade e como a opção priority: do retry_on a muda
  • ✓Como o scope ordered ordena execuções prontas e bloqueadas por priority e job_id
  • ✓Por que a prioridade nunca envelhece e como um job de baixa prioridade pode esperar sem limite
  • ✓Como um conjunto pequeno de níveis com nome organizaria jobs que dividem uma fila
Prévia grátis · Aula 1 3 min de leitura

Prioridade é uma decisão, não um padrão

Nenhum job desta aplicação chama queue_with_priority; uma busca por priority em app/jobs/ não encontra nada. Mesmo assim todo job tem uma prioridade, porque toda linha de solid_queue_jobs tem: o db/queue_schema.rb define a coluna como null: false. Esta aula trata de onde vem esse número quando…

Ler a aula completa grátis →

Currículo

7 aulas
Digite para buscar...