| « Mastering Grails | Groovy/Grails als Ergänzung zu Java » |
Tutorial: Grails, Plugins und praktische Java-Bibliotheken
5. Zeitgesteuerte Aufgaben
Für zeitgesteuerte Aufgaben kann sehr einfach die Quartz-Bibliothek eingebunden werden. Dazu öffnet man das Befehlszeilenfenster im Projektverzeichnis und gibt grails install-plugin quartz ein. Anschließend kann man einen zeitgesteuerten Job durch Eingabe von grails create-job meinjobname anlegen.
Das Quartz Plugin erzeugt für diesen Job eine Groovy-Datei mit folgendem Inhalt:
Code:
class @artifact.name @{ | |
def timeout = 5000l // execute job once in 5 seconds | |
def execute() { | |
// execute task | |
} | |
} |
Nun muss man lediglich den Klassennamen korrigieren, den Timeout durch das gewünschte Intervall ersetzen und die execute-Methode mit dem gewünschten Befehl bestücken. Sobald die Grails-Anwendung auf einem Applikationsserver gestartet wird, laufen alle definierten Jobs automatisch im Hintergrund mit.
Zeitsteuerung mit Cron Triggern
Die Ausführung kann wie oben gezeigt mit einer Intervallangabe in Millisekunden gesteuert werden. Es gibt aber auch die Möglichkeit zu individuelleren Steuerungen, z.B. "jeden Werktag um 23 Uhr". Dazu definiert man einen sogenannten Cron Trigger in der Jobklasse, dieser ersetzt die oben gezeigte Timeout-Einstellung:
def cronExpression = "0 0 6 * * ?"
Die Webseite zu CronTrigger erläutert mögliche Einstellungen.
2 Kommentare
sehr schön, dass Du auch Grails entdeckt hast. Ich hab letztes Jahr einmal ein Tutorial darüber gehalten (siehe http://www.slideshare.net/loffenauer/2007-09-10-fzi-training-groovy-grails-v-ws) und wir haben gerade eine Applikation damit gebaut (siehe http://sti.innoraise.com)
Viele Grüße
Raphael
Kommentare sind für diesen Eintrag deaktiviert.