Führen Sie eine Quarz-Job mit einem Trigger von einem Controller
Kann ich einen cron-von einem statischen trigger aus in den job-Ordner, und es wird ausgeführt, aber wenn ich versuche, Feuer-trigger von meinen controller einfach nicht...Was übersehe ich?
FEHLER-CODE: Keine Signatur der Methode: static com.Beispiel.TaskReminderJob.triggerNow() ist anwendbar für die argument-Typen: java.util.LinkedHashMap) Werte: [[params:[name:Frank, email:[email protected]]]]
Quarz Job in grails-app/jobs/Beispiel
package com.example
class TaskReminderJob {
def reminderMailService
static triggers = { }
def execute(context) {
def email = context.mergedJobDataMap.get('email')
def name = context.mergedJobDataMap.get('name')
reminderMailService.remindMail1(name, email) //send email via service
}
}
CONTROLLER AUFRUFEN DER JOB
package example
class UserController {
def quartzScheduler
...
//user is created
...
TaskReminderJob.triggerNow([name:"frank",email:"[email protected]"] )
}
Warum würden Sie brauchen einen controller in den ersten Platz? Serie von Ereignissen: der Benutzer ist angelegt, einige job sollte ausgelöst werden, senden Sie ihm eine E-mail nach 7 Tagen nach Anlage der Benutzer, richtig? Die Quarz-job sollten rufen Sie einfach ein grails-service jeden Tag zu überprüfen, ob alle Benutzer erstellt vor 7 Tagen von heute an, wenn ja, senden Sie eine E-mail. 🙂
Die Art und Weise @dmahapatro vorgeschlagen, ist die Art und Weise habe ich es umgesetzt.
Die Art und Weise @dmahapatro vorgeschlagen, ist die Art und Weise habe ich es umgesetzt.
InformationsquelleAutor Tyler Rafferty | 2013-09-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Korrigieren, Ihr Paket Weg und dann können Sie veranlassen, Ihre Arbeit manuell mit
triggerNow
Methode. Und wenn Sie sich übergeben müssen alle parameter, die Sie übergeben können es wie folgt:Job
Es sollte funktionieren. Wollte versuchen sauber aufzubauen?
Ja, ich habe versucht, einen sauberen Aufbau und die Abhängigkeiten aktualisiert. Was könnte ich verpasst haben?
Ich bin mir nicht sicher, was Sie tun falsch ist, aber nehmen Sie einen Blick auf dieses Beispiel, das ich für Sie erstellt. LINK
übrigens bin ich mit
1.0-RC9
version, überprüfen Sie für diese als gut.InformationsquelleAutor Alidad