Zum Hauptinhalt springen
Que ist eine Hochleistungs-Alternative zu Delayed::Job oder Queue Classic, die die Zuverlässigkeit Ihrer Anwendung verbessert, indem sie Ihre Jobs mit denselben ACID-Garantien wie den Rest Ihrer Daten schützt. AppSignal instrumentiert Que automatisch, wenn Que beim Start erkannt wird, und erfasst Exceptions und Performance-Probleme. Es ist keine manuelle Einrichtung erforderlich.

Performance-Monitoring

Event-Timeline

Que-Jobs erscheinen in der Event-Timeline der Performance-Actions Ihrer Anwendung als perform_job.que-events.

Incident-Gruppierung

AppSignal erkennt Job-Namen anhand des Klassennamens des Que-worker, ergänzt um den Methodennamen run, was zu etwas wie MyWorker#run führt. AppSignal gruppiert Jobs für Performance-incidents und Benachrichtigungen anhand dieses Namens.

Enqueue-Instrumentation

Das Einreihen eines Que-Jobs zeichnet ein enqueue.que-event auf, benannt nach dem eingereihten Job. Bulk-Enqueues in Version 2 von Que zeichnen stattdessen ein einzelnes bulk_enqueue.que-event auf. AppSignal zeichnet enqueue-events in der event-timeline der aktiven transaction auf, zum Beispiel wenn Sie einen Job aus einem Web-Request oder aus einem anderen Job heraus einreihen. Sie werden nur aufgezeichnet, wenn eine transaction aktiv ist, sodass das Einreihen eines Jobs außerhalb einer transaction nichts aufzeichnet. Um das Aufzeichnen von enqueue-events für alle background-job-integrations zu stoppen, setzen Sie die Konfigurationsoption enable_job_enqueue_instrumentation auf false. Dies beeinflusst die instrumentation der Jobs selbst nicht.

Unterstützung für Active Job

Die Que-Integration ist mit Active Job kompatibel. Führen Sie ein Upgrade auf Version 2.11.0 des Ruby-gem oder neuer durch, um die Unterstützung zu verbessern.

Beispielanwendung

Wir haben eine Beispielanwendung in unserem Examples-Repository auf GitHub.