Die Methode Scheduler.getCurrentlyExecutingJobs() in Quarz ist offenbar nicht clusterfähig. Welche Methode verwenden Menschen, um eine Liste aller ausgeführten Jobs zu erhalten?Abrufen einer Liste aller aktuell ausgeführten Jobs in einem Cluster mit Quartz
6
A
Antwort
0
Ich würde davon ausgehen, dass man direkt auf die Datenbank zugreifen kann, obwohl es ein bisschen riskant ist, da die API das vollständig handhabt.
Es gibt ein Problem in ihrem Jira für diesen Zweck. Ihre Schlussfolgerung ist, dass Sie den Scheduling-Mechanismus überarbeiten müssen, wenn Sie Cluster-Kenntnisse berücksichtigen möchten.
können Sie beziehen sich auf http://jira.opensymphony.com/browse/QUARTZ-372
3
der Scheduling-Mechanismus geschieht nicht so bald wie Überholungs Sieht aus. So
, hier ist, wie ich den Tisch direkt bin Überprüfung - Unterstützung durch die Gruppe hinzufügen, wenn Sie es wollen:
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()
}
}
}
Verwandte Themen
- 1. geschachtelte Jobs in Quartz
- 2. Quartz Jobs Abhängigkeit
- 3. Quartz Scheduler: Trigger einige Jobs auf jedem Cluster-Knoten und einige nur einmal pro Cluster
- 4. Grails, ORM, Quartz, Jobs,
- 5. Quartz: Auslösen mehrerer Jobs
- 6. Unterbrechen eines Jobs in Quarz-Cluster
- 7. Liste aller Routen abrufen
- 8. Quartz - Spring Batch Multi Cluster Problem
- 9. Abrufen einer Liste aller Teilstrings in einer Datenrahmenspalte in R
- 10. Quartz .net: mit einem JobListener, Jobs werden nicht ausgelöst
- 11. Abbrechen eines geplanten Jobs in Quartz
- 12. Abrufen einer Liste aller verfügbaren Namespaces in einer AppDomain
- 13. Wie bekomme ich den aktuell ausgeführten Bereich?
- 14. Mehrere Parpool-Jobs auf einem Cluster ausführen
- 15. Abrufen aller Jobs, die einem bestimmten Abschnitt in einer Schnittansicht zugewiesen sind
- 16. Eine Liste aller Dateien in einem Verzeichnis in vb.net abrufen
- 17. Liste aller Labels in Blogger abrufen
- 18. Ermitteln des aktuell ausgeführten Testfalls von Nunit
- 19. Mbunit - Gallio. Name des aktuell ausgeführten Tests
- 20. Unable Jobs einreichen Cluster (Cluster-Modus)
- 21. Spark-Jobs auf einem YARN-Cluster mit zusätzlichen Dateien ausführen
- 22. Dataproc Client: googleapiclient: Methode, um eine Liste aller Jobs (runnng, stopped usw.) in einem Cluster zu erhalten
- 23. Mailjet API Liste aller Nachrichten in einer Kampagne abrufen
- 24. Quartz Scheduler: Wie gruppieren Jobs zusammen?
- 25. Wie Sie die Anzahl der gleichzeitig ausgeführten PBS-Jobs begrenzen
- 26. Abrufen einer Liste aller in Redis (Ruby) gespeicherten Schlüssel
- 27. Kann Quartz Scheduler Jobs seriell ausführen?
- 28. Zeigt den Namen der aktuell ausgeführten Funktion an
- 29. Liste der ausgeführten Abfragen
- 30. Liste aller Ressourcen des Dienstplaneintrags abrufen