gpt4 book ai didi

.net - Quartz Scheduler - 触发器不引用给定的作业

转载 作者:行者123 更新时间:2023-12-04 17:09:27 26 4
gpt4 key购买 nike

我在我的应用程序中使用 Quartz 调度程序,但出现异常:触发器未引用给定的作业...

查看我的代码,我似乎看不出问题出在哪里。

    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();

我确实在 StackOverflow 上找到了很多这样的帖子,但在每个帖子上我都能发现开发人员犯的错误或错别字。在这里,我只是一头雾水..

任何的想法?

最佳答案

好的找到了!

问题是因为团体。可以在不指定组的情况下调用 WithIdentity 方法,只需使用名称即可。

所以就变成了:

IJobDetail dailyJob = JobBuilder.Create<PushElectricityPricesJob>()
.WithIdentity("dailyJob")
.Build();

ITrigger trigger1 = TriggerBuilder.Create()
.WithIdentity("dailyJobTrigger")
.StartNow()
.WithSchedule(CronScheduleBuilder.DailyAtHourAndMinute(3, 0))
.ForJob("dailyJob")
.Build();

这似乎工作正常。
当然,您需要为其他工作做同样的事情。

关于.net - Quartz Scheduler - 触发器不引用给定的作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25895516/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com