【问题标题】:How can I run a quartz schedule on mondays and tuesdays every two weeks?如何每两周在星期一和星期二运行石英时间表?
【发布时间】:2015-06-02 23:24:59
【问题描述】:

我使用以下方式在每周一每两周运行一次时间表。

ITrigger trigger = TriggerBuilder.Create()
                                    .StartAt(DateBuilder.DateOf(StartHour, StartMinute, StartSeconds, StartDate, StartMonth, StartYear))
                                    .WithCalendarIntervalSchedule(x => x.WithIntervalInWeeks(Int32.Parse(nWeekInterval)))
                                    .EndAt(DateBuilder.DateOf(0, 0, 0, EndDay, EndMonth, EndYear))
                                    .Build();

但是我怎样才能在星期一和星期二也使用一个时间表来运行。请指教。

【问题讨论】:

    标签: c# cron quartz-scheduler quartz.net cronexpression


    【解决方案1】:

    您可以使用 DailyTimeIntervalScheduleBuilder 指定星期几

    var onMondayAndTuesday = DailyTimeIntervalScheduleBuilder.Create()
                             .OnDaysOfTheWeek(new DayOfWeek[] { DayOfWeek.Monday, DayOfWeek.Tuesday });
    
    var trigger = TriggerBuilder.Create()
                                .StartAt(DateBuilder.DateOf(StartHour, StartMinute, StartSeconds, StartDate, StartMonth, StartYear))
                                .WithSchedule(onMondayAndTuesday)
                                .WithCalendarIntervalSchedule(x => x.WithIntervalInWeeks(Int32.Parse(nWeekInterval)))
                                .EndAt(DateBuilder.DateOf(0, 0, 0, EndDay, EndMonth, EndYear))
                                .WithIdentity(triggerKey)
                                .Build();
    

    【讨论】:

    • 这是无效代码。您不能指定两种不同的日程安排(此处为每日和日历)。
    【解决方案2】:

    我会创建一个具有两个不同触发器的作业。每个触发器每两周(或每半月)触发一次。

    【讨论】:

      【解决方案3】:

      使用以下表达式将作业安排在每周一和周二交替运行。

      0 0 0 1-7,15-21,29-31 * 1,2 *
      

      这是表达式的描述方式。

      0 -- 第 0 秒

      0 -- 第 0 分钟

      0 -- 0 小时

      1-7,15-21,29-31 -- 每个月的隔周

      • --任何月份

      1,2 -- 周一和周二

      • -- 任何年份。

      【讨论】:

      • Cronmaker.com 说这个表达式无效。请帮忙
      • Shetty87 你能发布一个石英 cron 作业的完整示例吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-16
      • 2015-10-02
      • 1970-01-01
      • 2023-02-09
      • 2019-12-29
      • 2019-08-09
      • 2017-05-02
      相关资源
      最近更新 更多