private static ITrigger CreateRecurrentTrigger(JobKey jobKey, RecurrentScheduleSettingsModel settings) { var trigger = TriggerBuilder.Create() .ForJob(jobKey) .WithIdentity(jobKey.GetTriggerKey()) .StartNow() .WithSimpleSchedule(s => s .WithInterval(settings.RunningInterval) .RepeatForever() .WithMisfireHandlingInstructionNextWithRemainingCount()) .Build(); return(trigger); }
private static ITrigger CreateCronTrigger(JobKey jobKey, CronScheduleSettingsModel settings) { if (string.IsNullOrWhiteSpace(settings.CronExpression)) { throw new ApiValidationException("Invalid cron expression"); } var trigger = TriggerBuilder.Create() .ForJob(jobKey) .WithIdentity(jobKey.GetTriggerKey()) .StartNow() .WithCronSchedule(settings.CronExpression, cs => cs .InTimeZone(TimeZoneInfo.FindSystemTimeZoneById(settings.TimeZoneId)) .WithMisfireHandlingInstructionFireAndProceed()) .Build(); return(trigger); }