每周生成cron表达式,每n周重复一次

时间:2017-10-27 09:44:36

标签: cron quartz-scheduler quartz.net

我正在尝试创建每周cron表达式,它将在周一,周二等特定日期每周执行一次。与此同时,我必须实现重复每个功能。因此,重复每个间隔后都会触发该触发器。

例如。我必须每周一和隔周执行工作,以防间隔值为2。 当间隔值为3时,我必须在2周后每周一执行这项工作。

这种功能很容易在每日或每月的情况下实现,但我无法在每周的情况下找到它。 例如。 Cron为每日并重复每个间隔为3     0 0 12 1/3 *? *

2 个答案:

答案 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天。