protected override void OnStart(string[] args) { string DateNow, DateNext; base.OnStart(args); if (Scheduler == null) { Scheduler = StdSchedulerFactory.GetDefaultScheduler(); } Scheduler.Start(); TriggerBuilder Builder = TriggerBuilder.Create(); Builder = Builder.WithCronSchedule(AutoOrderEmail_CronExpr, (CronSchBuilder) => { CronSchBuilder.InTimeZone(TimeZoneInfo.Utc); CronSchBuilder.WithMisfireHandlingInstructionFireAndProceed(); }); ITrigger AutoEmailTrigger = Builder.Build(); IJobDetail AutoOrderEmailJob = JobBuilder.Create(typeof(TranslatorOfferEmailJob)).Build(); AutoOrderEmailJob.JobDataMap["ServiceLog"] = this.ServiceLog; Scheduler.ScheduleJob(AutoOrderEmailJob, AutoEmailTrigger); DateNow = DateTime.UtcNow.ToString("F"); DateNext = AutoEmailTrigger.GetNextFireTimeUtc().Value.DateTime.ToString("F"); ServiceLog.WriteEntry(string.Format(FRMT_INIT, DateNow, DateNext), EventLogEntryType.Information); if (this.ServiceLog.MaximumKilobytes < 51200) { this.ServiceLog.MaximumKilobytes = 51200; // Set our custom EventLog size to 50MB } }
protected override void OnStart(string[] args) { ITrigger CurrencyTrigger; IJobDetail CurrencyJobDetail; TriggerBuilder TriggerSpec; string DateNow, DateNext; base.OnStart(args); if (Scheduler == null) { Scheduler = StdSchedulerFactory.GetDefaultScheduler(); } Scheduler.Start(); TriggerSpec = TriggerBuilder.Create(); TriggerSpec = TriggerSpec.WithCronSchedule(CronMonthly, (CronSchBuilder) => { CronSchBuilder.InTimeZone(TimeZoneInfo.Utc); CronSchBuilder.WithMisfireHandlingInstructionFireAndProceed(); }); CurrencyTrigger = TriggerSpec.Build(); CurrencyJobDetail = JobBuilder.Create(typeof(CurrencyRateUpdateJob)).Build(); CurrencyJobDetail.JobDataMap["ServiceLog"] = this.ServiceLog; Scheduler.ScheduleJob(CurrencyJobDetail, CurrencyTrigger); DateNow = DateTime.UtcNow.ToString("F"); DateNext = CurrencyTrigger.GetNextFireTimeUtc().HasValue ? CurrencyTrigger.GetNextFireTimeUtc().Value.DateTime.ToString("F") : "Unavailable"; ServiceLog.WriteEntry(string.Format(FRMT_INIT, DateNow, DateNext), EventLogEntryType.Information); if (ServiceLog.MaximumKilobytes < 51200) { ServiceLog.MaximumKilobytes = 51200; // Set our custom EventLog size to 50MB } }