web-dev-qa-db-fra.com

Comment puis-je voir la file d'attente des travaux retardés?

Je me demande si j'ai réussi à faire fonctionner Delayed :: Job . Impossible de voir les emplois dans le delayed_jobs table.

  • Est-ce normal?
  • Existe-t-il d'autres façons de voir la file d'attente des travaux?
59
knotito

DelayedJob stocke un enregistrement de base de données pour chaque travail mis en file d'attente afin que vous puissiez les récupérer directement via la console Rails (en supposant que vous utilisez ActiveRecord ou similaire).

Ouvrez la console Rails:

$> Rails c

puis interrogez les travaux mis en file d'attente:

$> Delayed::Job.all

ou

$> Delayed::Job.last

Consultez la documentation .

Si vous avez installé delay_job avec une autre base de données comme Redis, vous souhaiterez peut-être y archiver les travaux en file d'attente.

102
Nicolas Garnil

Vous devriez voir des travaux dans la table des emplois différés, oui. Mais lorsque les travaux retardés sont exécutés avec succès, ils sont supprimés. Ce peut donc être une chose éphémère. (Le travail différé vérifie la table pour de nouveaux travaux à exécuter toutes les 5 secondes, de sorte que l'enregistrement ne peut durer que quelques secondes en moyenne en raison d'un travail de courte durée.) Je m'assure généralement que le démon de travail retardé est désactivé si je veux inspecter les objets de charge utile dans la table des emplois différés.

8
pdobb