Jak sprawdzić, czy zaplanowane zadanie kwarcowe działa, czy nie? Czy jest jakieś API do sprawdzania?Jak sprawdzić, czy działa Quartz cron?
Odpowiedz
scheduler.getCurrentlyExecutingJobs() powinny działać w większości przypadków. Ale pamiętaj, aby nie używać go w klasie Job, ponieważ używa ExecutingJobsManager (JobListener), aby umieścić uruchomione zadanie w HashMap, która jest uruchamiana przed klasą zadania, więc użyj tej metody, aby sprawdzić, czy zadanie działa, na pewno zwróci true. Jednym prostym podejściem jest sprawdzenie, czy czasy pożaru są różne:
public static boolean isJobRunning(JobExecutionContext ctx, String jobName, String groupName)
throws SchedulerException {
List<JobExecutionContext> currentJobs = ctx.getScheduler().getCurrentlyExecutingJobs();
for (JobExecutionContext jobCtx : currentJobs) {
String thisJobName = jobCtx.getJobDetail().getKey().getName();
String thisGroupName = jobCtx.getJobDetail().getKey().getGroup();
if (jobName.equalsIgnoreCase(thisJobName) && groupName.equalsIgnoreCase(thisGroupName)
&& !jobCtx.getFireTime().equals(ctx.getFireTime())) {
return true;
}
}
return false;
}
Zauważ, że ta metoda nie działa w trybie klastrowym. Oznacza to, że zwróci on tylko zadania aktualnie wykonywane w tej instancji Scheduler, a nie w całym klastrze. Jeśli uruchomisz kwarc w klastrze, nie będzie działać poprawnie.
Czy spojrzałeś na to answer? Spróbuj:
Nie chcę wyświetlać wszystkich uruchomionych zadań. Przekażę {jobid, grupa robocza}. więc zależy od mojego wejścia i powinien otrzymać wynik. – kusumat
Ta metoda zwraca listę JobExecutionContext. Możesz powtórzyć tę listę i wybrać tylko te elementy, które pasują do podanego identyfikatora i grupy. Aby uzyskać grupę, którą możesz wykonać: 'String group = context.getJobDetail(). GetGroup();' – rafaborrego
zgodnie z sugestią, możesz łatwo sprawdzić wynik z terminarza przez wywołanie metody i wyszukiwanie przez jobkey lub jobdetail – Acewin
Jeśli zauważysz w tabeli QUARTZ_TRIGGERS, istnieje kolumna TRIGGER_STATE. Informuje o stanie wyzwalacza (TriggerState) dla określonego zadania. Najprawdopodobniej Twoja aplikacja nie ma bezpośredniego interfejsu do tej tabeli, ale harmonogram kwarcowy działa i możesz sprawdzić stan w następujący sposób:
private Boolean isJobPaused(String jobName) throws SchedulerException {
JobKey jobKey = new JobKey(jobName);
JobDetail jobDetail = scheduler.getJobDetail(jobKey);
List<? extends Trigger> triggers = scheduler.getTriggersOfJob(jobDetail.getKey());
for (Trigger trigger : triggers) {
TriggerState triggerState = scheduler.getTriggerState(trigger.getKey());
if (TriggerState.PAUSED.equals(triggerState)) {
return true;
}
}
return false;
}
- 1. Jak mogę sprawdzić, czy działa moodle cron?
- 2. Cron ekspresja co 50 sekund w Quartz
- 3. Jak działa django-cron?
- 4. Czy każda instancja azure działa cron?
- 5. Jak sprawdzić, czy skrypt Perl działa w terminalu?
- 6. Cron działa, ale funkcjonalność nie działa
- 7. Jak sprawdzić, czy webworker wciąż działa?
- 8. Jak sprawdzić, czy SSL działa dla Kafki
- 9. TensorFlow: Jak sprawdzić, czy działa na GPU?
- 10. Jak sprawdzić, czy NSTimer działa, czy nie w Swift?
- 11. Jak sprawdzić, czy zegar wciąż działa, czy nie?
- 12. Jakie jest wyrażenie dla wyzwalacza crona Quartz, który działa codziennie o godzinie 00:00?
- 13. Czy Xcode 4.3 zawiera Quartz Composer?
- 14. Cron zadanie nie działa prawidłowo w cpanel
- 15. docker ubuntu cron -f nie działa
- 16. Jak skonfigurować zadanie Cron?
- 17. Quartz ponawiania gdy awaria
- 18. Quartz org.quartz.jobStore.selectWithLockSQL wiersz blokady
- 19. Jak sprawdzić, czy aplikacja YII działa z konsoli lub przeglądarki?
- 20. Jak mogę sprawdzić, czy aplikacja działa na systemie Android?
- 21. Jak mogę sprawdzić, czy moja pamięć podręczna Redis działa?
- 22. Android: jak sprawdzić, czy aplikacja działa w tle
- 23. Jak sprawdzić, czy okno dialogowe nie działa w systemie Android?
- 24. Jak sprawdzić, czy Seler/Supervisor działa przy pomocy Pythona
- 25. Jak sprawdzić czy proces z danym PID działa?
- 26. Jak sprawdzić, czy na urządzeniu działa system iOS 6?
- 27. Jak sprawdzić, czy TOAST działa na konkretnej tabeli w postgresie
- 28. Jak sprawdzić, czy proces wciąż działa przed wywołaniem Process.GetProcessById?
- 29. Jak mogę sprawdzić, czy mój skrypt Perla działa pod Windows?
- 30. Gdzie i jak sprawdzić, czy pamięć podręczna hibernacji naprawdę działa
czy jest jakiś sposób zrobić to w klastrze kwarcowym? –