ITrigger trigger = TriggerBuilder.Create()
.StartAt(DateTime.Today.AddMinutes(1))
.WithIdentity("trigger1", "group1")
.StartNow()
.WithSimpleSchedule(x => x
.WithIntervalInSeconds(10)
.WithRepeatCount(0)
)
.Build();
我想要在第一天的每个月执行触发器
答案 0 :(得分:3)
你有两个选择。您可以使用cron表达式并使用此cron表达式在触发器中使用WithCronSchedule
:
0 0 12 1 1/1? *
这是代码:
ITrigger trigger = TriggerBuilder
.Create()
.StartNow()
.WithIdentity("trigger1", "myGroup")
.WithCronSchedule("0 0 12 1 1/1 ? *")
.Build();
请注意,此触发器将在中午开始。
您可以使用此有用的tool检查cron表达式并对其进行自定义。
选项2是使用CronScheduleBuilder.MonthlyOnDayAndHourAndMinute
的计划:
ITrigger trigger = TriggerBuilder
.Create()
.StartNow()
.WithIdentity("trigger1", "myGroup")
.WithSchedule(CronScheduleBuilder.MonthlyOnDayAndHourAndMinute(1, 12, 0))
.Build();
备注:强>
Quartz.Net中的Cron表达式由7 sub-expressions:
组成1. Seconds
2. Minutes
3. Hours
4. Day-of-Month
5. Month
6. Day-of-Week
7. Year (optional field)
答案 1 :(得分:0)
我正在寻找一种在本月的第一个工作日在 java 石英 CronTrigger 中执行的方法,并最终出现在此页面上。不确定这是否适用于 Quartz.Net,但 javaquartz 支持每月第一个工作日的符号 0 7 1 1W * ?
。我把它写在这里是为了将来的我。
0 7 1 1W * ?
:
0
7
1
1W
个工作日*
个月?
无具体值