Metoda "Scheduler.getCurrentlyExecutingJobs()" w kwarce widocznie nie jest świadoma klastra. Jakiej metody używają ludzie, aby uzyskać listę wszystkich wykonujących zadań?Wyświetl listę wszystkich aktualnie wykonywanych zadań w klastrze za pomocą kwarcu
6
A
Odpowiedz
0
Założę się, że jednym ze sposobów jest bezpośredni dostęp do bazy danych, chociaż jest to nieco ryzykowne, ponieważ API całkowicie to obsługuje.
W tym celu występuje problem dotyczący ich Jiry. Ich wniosek jest taki, że trzeba zmienić mechanizm szeregowania, jeśli chcą zaspokoić świadomość klastra.
Można odwołać się do http://jira.opensymphony.com/browse/QUARTZ-372
3
Wygląda jak remonty mechanizm szeregowania nie dzieje się w najbliższym czasie.
Więc, oto jak ja bezpośrednio sprawdzając tabelę - dodanie wsparcia grupowego, jeśli chcesz to:
class QuartzClusterJobStatusService
{
def quartzScheduler
boolean isJobRunning(String job) {
return isJobRunningHere(job) || isJobRunningElsewhere(job)
}
boolean isJobRunningHere(String job) {
for (JobExecutionContext j : quartzScheduler.getCurrentlyExecutingJobs()) {
if (new JobKey(job,"GRAILS_JOBS").equals(j.jobDetail.key)) {
return true
}
}
return false
}
boolean isJobRunningElsewhere(String job) {
JobStoreSupport js = quartzScheduler.sched.resources.jobStore
if (!js.isClustered()) {
return false
}
Connection conn = DBConnectionManager.getInstance().getConnection(js.getDataSource());
PreparedStatement stmt = null
try {
stmt = conn.prepareStatement("SELECT 1 FROM " + js.getTablePrefix() + "FIRED_TRIGGERS where JOB_NAME = ?")
stmt.setString(1, job)
ResultSet rs = stmt.executeQuery()
return rs.next()
} finally {
if (stmt != null)
stmt.close()
}
}
}
Powiązane problemy
- 1. Zależność zadań kwarcu
- 2. Java Przykład: Dynamiczne planowanie zadań za pomocą kwarcu
- 3. Wyświetl listę wszystkich zainstalowanych aplikacji.
- 4. Wyświetl listę wszystkich właściwości obiektu
- 5. Wyświetl listę wszystkich testów w projekcie Django
- 6. Wyświetl listę wszystkich elementów w tablicy JavaScript
- 7. Linux: wyświetl listę wszystkich dostępnych menedżerów okien.
- 8. Hibernate: jak uzyskać listę wszystkich obiektów aktualnie w sesji
- 9. Wyświetl listę plików w Cloud Storage (Java)
- 10. Wyświetl listę wszystkich otwartych okien z wiersza poleceń
- 11. Wyświetl listę wszystkich otwartych okien przy użyciu AutoIt
- 12. Wyświetl listę wszystkich udostępnionych folderów UNC na serwerze sieci lokalnej.
- 13. Wyświetl NSAttributedString za pomocą CoreText
- 14. Wyświetl listę wszystkich użytkowników bazy danych o określonej roli
- 15. Usuwanie wszystkich zadań kolejkowania ThreadPoolExecutor
- 16. Jak wyświetlić listę wszystkich zmiennych wiążących za pomocą GroovyShell
- 17. Wyświetl listę obsługiwanych walut w iOS
- 18. Nadmierne partycjonowanie (zbyt wiele zadań) w klastrze Apache Spark/Cassandra
- 19. Jak przesłać topologię w klastrze produkcji burzowej za pomocą IDE
- 20. Jak uzyskać listę ról dla aktualnie zalogowanego użytkownika?
- 21. Lista wszystkich aktualnie otwartych uchwytów plików?
- 22. Wybierz węzeł w kwarcowym klastrze, aby wykonać zadanie.
- 23. iPhone SDK Powiększ i odśwież PDF za pomocą kwarcu
- 24. Jak sortować listę zadań w wierszu polecenia?
- 25. Oczyszczanie zadań Kubernetes
- 26. Jak uzyskać listę zadań o najdłuższym czasie kompilacji w Jenkins
- 27. Planowane prace Hazelcast (wsparcie kwarcu?)
- 28. Wyświetl listę kontroli podrzędnych wewnątrz skrzynki grupowej
- 29. Wyświetl obraz Ashx za pomocą jQuery?
- 30. Wyświetl listę aktywnych PendingIntents w aplikacji AlarmManager