Wie überprüft man, ob der Quartz Cron-Job ausgeführt wird?

8

Wie kann ich überprüfen, ob der geplante Quartz Cron Job läuft oder nicht? Gibt es eine API für die Überprüfung?

    
kusumat 18.06.2014, 09:52
quelle

3 Antworten

3

scheduler.getCurrentlyExecutingJobs () sollte in den meisten Fällen funktionieren. Aber denken Sie daran, es nicht in der Job-Klasse zu verwenden, denn es verwendet den ExecutingJobsManager (einen JobListener), um den laufenden Job in eine HashMap zu stellen, die vor der Jobklasse ausgeführt wird. Ein einfacher Ansatz besteht darin, zu überprüfen, ob die Feuerzeiten unterschiedlich sind:

%Vor%

Beachten Sie auch, dass diese Methode nicht clusterfähig ist. Das heißt, es werden nur Jobs zurückgegeben, die gerade in dieser Scheduler-Instanz ausgeführt werden, nicht über den gesamten Cluster. Wenn Sie Quartz in einem Cluster ausführen, funktioniert es nicht richtig.

    
arganzheng 10.12.2014, 07:40
quelle
2

Wenn Sie in der Tabelle QUARTZ_TRIGGERS feststellen, gibt es eine Spalte TRIGGER_STATE. Dies zeigt Ihnen den Status des Triggers ( TriggerState ) für einen bestimmten Trigger Job. Aller Wahrscheinlichkeit nach hat Ihre App keine direkte Schnittstelle zu dieser Tabelle, aber der Quartz-Scheduler tut dies und Sie können den Status auf diese Weise überprüfen:

%Vor%     
ccu 17.07.2015 15:32
quelle
1

Haben Sie sich dieses angesehen antwort ? Versuchen Sie es mit:

  

scheduler.getCurrentlyExecutingJobs ()

    
rafaborrego 18.06.2014 09:58
quelle