Skip to main content
Resque é uma biblioteca Ruby baseada em Redis para criar background jobs, colocá-los em múltiplas filas e processá-los posteriormente. O AppSignal instrumenta o Resque automaticamente quando a gem Resque é detectada na inicialização. Nenhuma configuração manual é necessária.

Performance monitoring

Event timeline

Jobs do Resque aparecem na event timeline das actions de performance da sua aplicação como events perform.resque.

Incident grouping

O AppSignal detecta os nomes dos jobs a partir do nome da classe do worker Resque, sufixado com o nome do método perform, resultando em algo como MyWorker#perform. O AppSignal agrupa jobs por esse nome para performance monitoring e notificações.

Enqueue instrumentation

Enfileirar um job do Resque registra um event enqueue.resque, com o título baseado no job sendo enfileirado. O AppSignal registra events de enqueue na event timeline da transaction ativa, por exemplo, quando você enfileira um job a partir de uma requisição web ou de dentro de outro job. Ele só registra esses events quando uma transaction está ativa, então enfileirar um job fora de uma transaction não registra nada. Para parar de registrar events de enqueue em todas as integrações de background job, defina a opção de configuração enable_job_enqueue_instrumentation como false. Isso não afeta a instrumentação dos jobs em si.

Suporte ao Active Job

A integração com Resque é compatível com Active Job. Atualize para a versão 2.11.0 da gem Ruby ou mais nova para um suporte aprimorado.

Apps de exemplo

Adicionamos um app de exemplo Rails 5 + Resque ao nosso repositório de examples. Dê uma olhada se estiver tendo problemas para configurar o AppSignal para Resque.

Span attributes

Somente no modo collector: isso se aplica quando o AppSignal para Ruby é executado no modo collector. Nos demais casos, não tem efeito.
O enqueue e o span do próprio job carregam:
  • messaging.system — a biblioteca de filas.
  • messaging.destination.name — a fila na qual o job foi colocado.
  • messaging.operation.type — se o span é o enqueue ou a execução do job.
Um span de um job que gerou um erro também carrega error.type, a classe do erro.

Distributed tracing

Somente no modo collector: isso se aplica quando o AppSignal para Ruby é executado no modo collector. Nos demais casos, não tem efeito.
Um job é executado no mesmo trace que o código que o enfileirou, aparecendo sob a requisição ou o job que o agendou. Você pode rastrear um job lento até a causa que fez com que ele fosse executado. O trace é transportado no payload do job, junto com sua classe e argumentos. Leia mais sobre distributed tracing.