private static TriggerBuilder ModifiedByCalendarSafe(this TriggerBuilder triggerBuilder, string calendarName) { if (calendarName != null) { triggerBuilder.ModifiedByCalendar(calendarName); } return(triggerBuilder); }
public static ITrigger GetTrigger(this SnapshotRule rule) { TriggerBuilder builder = TriggerBuilder.Create() .WithIdentity(rule.ToString(), "SnapshotJob") .WithCronSchedule(rule.GeneratedCron) .StartAt(rule.PeriodStart) .UsingJobData("RuleId", rule.Id) .WithDescription(rule.ToString()); if (rule.PeriodEndEnabled) { builder = builder.EndAt(rule.PeriodEnd); } if (rule.HasCalendar()) { builder = builder.ModifiedByCalendar(rule.GetCalendarName()); } return(builder.Build()); }
public Task Execute(IJobExecutionContext context) { HolidayCalendar calendar = new HolidayCalendar(); DayOfWeek toDay = DateTime.Now.DayOfWeek; if ((toDay == DayOfWeek.Saturday) || (toDay == DayOfWeek.Sunday)) { calendar.AddExcludedDate(DateTime.Now); QuarztSingleton.scheduler.AddCalendar("Holiday", calendar, true, true); ITrigger trigger = QuarztSingleton.scheduler.GetTrigger(new TriggerKey("NamHTtrigger", "NamHT")).GetAwaiter().GetResult(); TriggerBuilder tb = trigger.GetTriggerBuilder(); ITrigger UpdateTrigger = tb.ModifiedByCalendar("Holiday").Build(); QuarztSingleton.scheduler.RescheduleJob(new TriggerKey("NamHTtrigger", "NamHT"), UpdateTrigger); LogsSingleton.WriteText("Hôm nay, ngày nghỉ Job đi nhậu với bạn đây.", "Quarzt"); } return(Task.FromResult("done")); }