Quartz Scheduler: Trigger einige Arbeitsplätze auf jedem cluster-Knoten und einige nur einmal pro cluster
Bin ich mit dem Quartz Scheduler-als Spring-bean in einer Cluster-Umgebung.
Habe ich einige jobs annotiert mit @NotConcurrent und Sie laufen einmal pro cluster (d.h. nur in einem Knoten, nur in einem thread).
Nun muss ich laufen, einen job auf jedem Knoten des Clusters.
Ich entfernte die @NotConcurrent annotation, aber Sie laufen nur auf jeder thread auf einer Maschine. Wird es nicht ausgelöst, die auf anderen Knoten.
Was soll ich kommentieren den job mit?
Beispiel: Job1 NotConcurrent kommentierte geplant um Mitternacht => Es feuert nur auf 1 Maschine jede Mitternacht. Auftrag2 Kostentyp kommentierte geplant um Mitternacht => Es Feuer auf jeder Maschine zu jeder Mitternacht.
Danke.
Du musst angemeldet sein, um einen Kommentar abzugeben.
AFAIK Quarz-job werden immer ausgeführt auf einem einzelnen Knoten, der ist wieder durch Quarz. Die @NonConcurrent annotation nur verhindert, dass Quarz von der Ausführung der gleichen Aufgabe, die gleichzeitig auf einen bestimmten Knoten.
In anderen Worten, Sie machen nicht den Quarz ausführen von Jobs auf mehreren Knoten gleichzeitig. Es wählt immer einem einzelnen Knoten, um den job auszuführen, auf.
Zu erkennen, was Sie beschreiben, müssen Sie eventuell mehrere Aufträge (mit der gleichen job-Klasse und ohne zugehörige Trigger). Dann müssen Sie implementieren, einige Art ein orchestrator job, würde eine Remote-Verbindung, z.B. via JMX oder RMI, auf einzelne Knoten und lösen die jobs manuell.
Möchten Sie vielleicht zu prüfen, unsere Produkt-QuartzDesk ( http://www.quartzdesk.com ), die bietet ein web-service, bietet eine single-endpoint, über die Sie eine Verbindung herstellen können einzelne Quartz scheduler-Instanzen und, zum Beispiel, trigger jobs auf Sie.