grailsquartz动态调度导入问题
我想使用GrailsQuartz插件的动态调度功能 我正在运行grailsquartz动态调度导入问题,grails,quartz-scheduler,grails-plugin,jobs,Grails,Quartz Scheduler,Grails Plugin,Jobs,我想使用GrailsQuartz插件的动态调度功能 我正在运行grails2.3.5和quartz插件(quartz:1.0.2) 我能够将quartz信息持久化到mysql数据库,并且能够运行正常的quartz作业 问题是动态地安排任务。我不能让它工作 以下是我的设置和我正在尝试的操作: 我在“grails app/tao/marketing/marketing Job”中有一个简单的工作,如下所示: package tao.marketing import org.quartz.JobExe
grails2.3.5
和quartz插件(quartz:1.0.2
)
我能够将quartz信息持久化到mysql数据库,并且能够运行正常的quartz作业
问题是动态地安排任务。我不能让它工作
以下是我的设置和我正在尝试的操作:
我在“grails app/tao/marketing/marketing Job”
中有一个简单的工作,如下所示:
package tao.marketing
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
class MarketingJob {
static triggers ={}
def execute(JobExecutionContext context) {
try{
def today = new Date()
println today
}
catch (Throwable e) {
throw new JobExecutionException(e.getMessage(), e);
}
}
}
我现在尝试从一个服务动态地调度它
package tao
import grails.transaction.Transactional
import tao.marketing.CampaignSchedule
import tao.Person
import jobs.tao.marketing.*
class ScheduleService {
def scheduleMarketingForPerson(CampaignSchedule campaignSchedule, Person person) {
log.info("Schedule new Marketing for: "+person.last_name)
campaignSchedule.scheduleActions.each {
Date today = new Date();
Date scheduleDate = today+it.afterXdays
log.info("ScheduleAction: "+it.id+": "+scheduleDate)
MarketingJob.schedule(scheduleDate, ["scheduleActions.id":it.id, "person.apiKey":person.apiKey])
}
}
}
在我的IDE(STS)中,找不到营销工作
MarketingJob.schedule(scheduleDate, ["scheduleActions.id":it.id, "person.apiKey":person.apiKey])
如何正确导入标记作业?
我是否正确理解动态计划功能?可能是您的工作在“package tao.marketing”中,而您的导入是“import jobs.tao.marketing.*”?我的意思是,导入以“jobs”开始。我遇到的问题是,在我的STS IDE中,我没有将jobs目录标记为代码目录。谢谢您的评论。我刚刚从控制器上测试了我的代码。在那里,它没有任何问题。问题是为什么我不能从grails服务中访问MarketingJob(grails app/jobs/)。诀窍是什么?你在grails app/tao/marketing/MarketingJob中有工作?它不应该出现在grails应用程序/jobs/tao/marketing/MarketingJob中吗?