Geo*_*ros 5 .net quartz-scheduler
我在我的应用程序中使用Quartz Scheduler并得到异常:Trigger没有引用给定的作业......
看着我的代码我似乎无法看出问题出在哪里.
var schedFact = new StdSchedulerFactory();
scheduler = schedFact.GetScheduler();
IJobDetail dailyJob = JobBuilder.Create<PushElectricityPricesJob>()
.WithIdentity("dailyJob", "group1")
.Build();
ITrigger trigger1 = TriggerBuilder.Create()
.WithIdentity("dailyJobTrigger", "group1")
.StartNow()
.WithSchedule(CronScheduleBuilder.DailyAtHourAndMinute(3, 0))
.ForJob("dailyJob")
.Build();
scheduler.ScheduleJob(dailyJob, trigger1);
IJobDetail monthlyJob = JobBuilder.Create<PushContributionsJob>()
.WithIdentity("monthlyJob", "group2")
.Build();
ITrigger trigger2 = TriggerBuilder.Create()
.WithIdentity("monthlyJobTrigger", "group2")
.StartNow()
.WithSchedule(CronScheduleBuilder.MonthlyOnDayAndHourAndMinute(1, 0, 0))
.ForJob("monthlyJob")
.Build();
scheduler.ScheduleJob(monthlyJob, trigger2);
scheduler.Start();
Run Code Online (Sandbox Code Playgroud)
我确实在StackOverflow上找到了很多像这样的帖子,但是在每一个帖子上我都可以发现开发者所犯的错误或拼写错误.在这里,我只是无能为力..
任何的想法?
Geo*_*ros 11
好的发现了!
问题是因为这些团体.可以在不指定组的情况下调用WithIdentity方法,只需使用名称.
所以它变成:
IJobDetail dailyJob = JobBuilder.Create<PushElectricityPricesJob>()
.WithIdentity("dailyJob")
.Build();
ITrigger trigger1 = TriggerBuilder.Create()
.WithIdentity("dailyJobTrigger")
.StartNow()
.WithSchedule(CronScheduleBuilder.DailyAtHourAndMinute(3, 0))
.ForJob("dailyJob")
.Build();
Run Code Online (Sandbox Code Playgroud)
这似乎工作正常.当然,你需要为其他工作做同样的事情.
| 归档时间: |
|
| 查看次数: |
4822 次 |
| 最近记录: |