Esempio n. 1
0
 private static TriggerBuilder ModifiedByCalendarSafe(this TriggerBuilder triggerBuilder, string calendarName)
 {
     if (calendarName != null)
     {
         triggerBuilder.ModifiedByCalendar(calendarName);
     }
     return(triggerBuilder);
 }
Esempio n. 2
0
        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());
        }
Esempio n. 3
0
        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"));
        }