작업 폴더 내에서 정적 트리거로 cron을 실행할 수 있지만 컨트롤러에서 트리거를 실행하려고하면 일반 오류가 발생합니다 ... 내가 뭘 놓치고 있니?컨트롤러에서 트리거가있는 석영 작업 실행
오류 코드 : 메소드의 서명이 없습니다. static com.example.TaskReminderJob.triggerNow()는 인수 유형에 적용 가능합니다. (java.util.LinkedHashMap) values : [params : [name : Frank, email : frank @ test.com]]]
석영 작업은 Grails의-응용 프로그램/작업/예에서
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
}
}
컨트롤러는 작업에 전화
package example
class UserController {
def quartzScheduler
...
//user is created
...
TaskReminderJob.triggerNow([name:"frank",email:"[email protected]"])
}
왜 당신이 첫번째 장소에있는 컨트롤러를 필요? 일련의 이벤트 : 사용자 생성 후 7 일 후에 메일을 보내도록 작업이 시작되어야합니다. 맞습니까? quartz job은 단순히 매일 ** grails 서비스를 호출하여 오늘부터 7 일 전에 생성 된 사용자가 있는지 확인합니다. 그렇다면 메일을 보냅니다. :) – dmahapatro
@dmahapatro가 제안한 방법은 제가 구현 한 방법입니다. –