ra2*_*a22 1 c# windows-services quartz.net
我正在尝试使用quartz.net创建一个每1个月运行一次的工作
我对如何实现这一点感到有些困惑,任何人都可以就解决方案提出建议
谢谢
PS我正在使用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);
Run Code Online (Sandbox Code Playgroud)
现在我需要每月触发一次
这就是我实现我的解决方案的方式,就像你的一样,
基本上,CronScheduleBuilder类有一个方法MonthlyOnDayAndHourAndMinute(日,小时,分钟),您可以在其中输入作业运行的日,小时和分钟.
除非您习惯使用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);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3171 次 |
| 最近记录: |