我正在尝试使用quartz.net创建一个作业,该作业每1个月运行一次
我对如何实现这一点感到困惑,任何人都可以提出解决方案的建议
谢谢
附言正在使用Quartz 2.2.2.400版本
编辑:我每天触发一次
job = JobBuilder.Create<Jobs>()
.WithIdentity(Params.JobsKind.BlaBlaBla.ToString(), "group1")
.Build();
trigger = TriggerBuilder.Create()
.WithIdentity("triggerBlaBlaBla", "group1")
.WithDailyTimeIntervalSchedule(x => x.StartingDailyAt(Params.BlaBlaBLa)
.WithIntervalInHours(24)
.OnEveryDay())
.Build();
sched.ScheduleJob(job, trigger);
现在我需要每月触发一次
最佳答案
这就是我实施像您一样的解决方案的方式,
基本上,CronScheduleBuilder类具有方法MonthlyOnDayAndHourAndMinute(day,hour,minutes),您在其中输入天,小时和分钟来运行作业。
除非您习惯使用UNIX CRON作业,否则它会完美地工作并且更易于阅读。希望这可以帮助。
// define the job and tie it to class
IJobDetail job_tcs = JobBuilder.Create<DuesFeedbackJob>()
.WithIdentity("job_tcs", "group1")
.Build();
// Trigger the job to run every 2nd of the month at 1 am
ITrigger trigger_tcs = TriggerBuilder.Create()
.WithIdentity("Run Infinitely every 2nd day of the month", "Monthly_Day_2")
.StartNow()
.WithSchedule(CronScheduleBuilder.MonthlyOnDayAndHourAndMinute(2, 1, 0))
.Build();
// Tell quartz to schedule the job using our trigger
Console.WriteLine("Scheduling " + job_tcs);
scheduler.ScheduleJob(job_tcs, trigger_tcs);
关于c# - Quartz.Net cron触发器每月计划一次作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25377261/