Skip to main content
Resque est une bibliothèque Ruby adossée à Redis pour créer des background jobs, les placer dans plusieurs queues et les traiter ultérieurement. AppSignal instrumente automatiquement Resque lorsque la gem Resque est détectée au démarrage. Aucune configuration manuelle n’est requise.

Surveillance des performances

Chronologie des événements

Les jobs Resque apparaissent dans la chronologie des événements des actions de performance de votre application sous forme d’événements perform.resque.

Regroupement d’incidents

AppSignal détecte les noms de jobs à partir du nom de classe du worker Resque, suffixé par le nom de la méthode perform, ce qui donne quelque chose comme : MyWorker#perform. AppSignal regroupe les jobs par ce nom pour la surveillance des performances et les notifications.

Instrumentation de mise en file d’attente

La mise en file d’attente d’un job Resque enregistre un événement enqueue.resque, intitulé d’après le job mis en file d’attente. AppSignal enregistre les événements de mise en file d’attente dans la chronologie des événements de la transaction active, par exemple lorsque vous mettez en file d’attente un job depuis une requête web ou depuis un autre job. Il ne les enregistre que lorsqu’une transaction est active, donc mettre en file d’attente un job en dehors d’une transaction n’enregistre rien. Pour arrêter d’enregistrer les événements de mise en file d’attente pour toutes les intégrations de jobs en arrière-plan, définissez l’option de configuration enable_job_enqueue_instrumentation sur false. Cela n’affecte pas l’instrumentation des jobs eux-mêmes.

Prise en charge d’Active Job

L’intégration Resque est compatible avec Active Job. Mettez à niveau vers la version 2.11.0 ou plus récente de la gem Ruby pour une prise en charge améliorée.

Exemples d’applications

Nous avons ajouté une application d’exemple Rails 5 + Resque à notre dépôt d’exemples. Jetez-y un œil si vous rencontrez des difficultés pour configurer AppSignal pour Resque.

Attributs de span

Mode collector uniquement : ceci s’applique lorsqu’AppSignal pour Ruby s’exécute en mode collector. Cela n’a aucun effet dans les autres cas.
L’enqueue et le span propre au job portent tous deux :
  • messaging.system — la bibliothèque de mise en file d’attente.
  • messaging.destination.name — la queue sur laquelle le job a été placé.
  • messaging.operation.type — indique si le span correspond à la mise en file d’attente ou à l’exécution du job.
Un span pour un job qui a levé une erreur porte également error.type, la classe de l’erreur.

Traçage distribué

Mode collector uniquement : ceci s’applique lorsqu’AppSignal pour Ruby s’exécute en mode collector. Cela n’a aucun effet dans les autres cas.
Un job s’exécute dans la même trace que le code qui l’a mis en file d’attente, et apparaît sous la requête ou le job qui l’a programmé. Vous pouvez ainsi retracer un job lent jusqu’à ce qui l’a déclenché. La trace est transportée dans le payload du job, avec sa classe et ses arguments. En savoir plus sur le traçage distribué.