我正在尝试创建每周cron表达式,它将在周一,周二等特定日期每周执行一次。与此同时,我必须实现重复每个功能。因此,重复每个间隔后都会触发该触发器。
例如。我必须每周一和隔周执行工作,以防间隔值为2。 当间隔值为3时,我必须在2周后每周一执行这项工作。
这种功能很容易在每日或每月的情况下实现,但我无法在每周的情况下找到它。 例如。 Cron为每日并重复每个间隔为3 0 0 12 1/3 *? *
答案 0 :(得分:1)
你不能用cron表达式做到这一点。
最好的办法是使用WithCalendarIntervalSchedule()
方法指定您希望触发发生的周数间隔:
ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("trigger1", "group1")
.StartNow()
.WithCalendarIntervalSchedule(
scheduleBuilder => scheduleBuilder.WithIntervalInWeeks(3))
.Build();
而不是StartNow()
,您还必须使用StartAt()
,并找到一种方法来获取下周一的日期(例如,使用Jon Skeet回答此问题:{{3} })
答案 1 :(得分:0)
http://www.cronmaker.com/ 这个(或任何类似的)页面可以帮助您,例如,如果您将其设置为每14天。