2017-03-01 1 views
1

Nous devons surveiller l'état des travaux de quartz en ayant seulement accès à la base de données. Est-ce que le quartz offre un moyen d'y parvenir?Rapport de travail d'état de quartz

En lisant la documentation, dans la classe Trigger nous avons TriggerState qui définit différents états, ERROR et COMPLETE parmi d'autres.

Cependant, lors de l'exécution normale, CompleteExecutionInstruction est toujours NOOP. Ce n'est pas grave si je lance une exception ou si j'exécute complètement. Je m'attendais à quelque chose comme COMPLÈTE si j'avais réussi ou ERREUR si j'ai lancé une exception.

Quelqu'un a-t-il une expérience avec ceci?

Répondre

1

L'état de déclenchement ne reflète en aucun cas le dernier état d'exécution de votre travail, vous ne pouvez donc pas vous attendre à ce que l'état de déclenchement soit COMPLETE ou ERROR.

Si vous souhaitez surveiller vos travaux, je vous recommande de regarder dans l'interface Quartz JobListener. Cette interface vous permet d'intercepter et de traiter tous les événements d'exécution de travail qui vous intéressent. Par exemple, vous pouvez implémenter un écouteur de travail qui stocke les événements d'exécution de travail interceptés dans une base de données, puis vous pouvez interroger cette base de données. le dernier statut d'exécution du travail de vos travaux, etc.

Vous pouvez également utiliser un planificateur Quartz, un outil de gestion et de surveillance des déclenchements existant. Je suis l'auteur original de QuartzDesk qui est l'un de ces outils. QuartzDesk est un outil totalement non-intrusif qui ne nécessite aucune modification de votre code d'application et qui peut fonctionner avec tous les types d'applications Java et presque toutes les versions Quartz. Il y a un public online demo auquel vous pouvez vous inscrire, essayez de voir par vous-même si l'outil répond à vos besoins. En ce qui concerne la surveillance, l'interface graphique de QuartzDesk affiche un indicateur d'état de santé à côté de chaque travail et déclencheur. Cet indicateur décrit l'état (succès, erreur, veto) des 10 dernières exécutions de travail/déclencheur, ce qui vous permet de voir rapidement si des travaux ont échoué récemment, etc. Vous pouvez également accéder à l'historique complet des différents travaux et déclencheurs. Si vous souhaitez être averti de tout événement lié à l'exécution d'un travail, vous pouvez créer une règle de notification d'exécution qui vous enverra un message de notification (IM, SMS, e-mail, Slack, HipChat, Trap SNMP, ...) rencontré. Je joins une capture d'écran de l'interface graphique montrant les indicateurs d'intégrité du travail et l'historique d'exécution du travail sélectionné.

QuartzDesk GUI.