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

Generate cron expression for weekly and repeat every n weeks

我正在尝试创建每周 cron 表达式,它将每周在选定的日期(如周一、周二)执行。除此之外,我还必须用它重复每个功能。这样触发器将在每个间隔重复后被触发。

例如。如果间隔值为 2,我必须每周一和隔周执行作业。 当间隔值为 3 时,我必须在 2 周后的每个星期一执行此作业。

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

http://www.cronmaker.com/ 例如,如果您将其设置为每 14 天,则此(或任何类似)页面可以为您提供帮助。

你不能用 cron 表达式来做到这一点。

您最好的选择是使用 WithCalendarIntervalSchedule() 方法来指定您希望触发发生的时间间隔(以周为单位):

        ITrigger trigger = TriggerBuilder.Create()
            .WithIdentity("trigger1", "group1")
            .StartNow()
            .WithCalendarIntervalSchedule(
                scheduleBuilder => scheduleBuilder.WithIntervalInWeeks(3))
            .Build();

而不是 StartNow(),您还必须使用 StartAt(),并找到一种方法来获取下周一的日期(例如使用 Jon Skeet 对这个问题的回答:Datetime - Get next tuesday)