public void AddJob(Reminder instReminder, IScheduleListener instCaller) { var job = instReminder as IJob; var startAtUtc = instReminder.RemindAt.ToUniversalTime(); var start = new TimeOfDay(startAtUtc.Hour, startAtUtc.Minute); // JobDetail var jobDetail = JobBuilder.Create <Reminder>() .WithDescription(instReminder.Description) .WithIdentity(instReminder.UID) .Build(); jobDetail.JobDataMap["Caller"] = instCaller; jobDetail.JobDataMap["Reminder"] = instReminder; // Trigger var offset = new DateTimeOffset(startAtUtc); var jobTrigger = TriggerBuilder.Create() .StartAt(new DateTimeOffset(startAtUtc)) //.WithSimpleSchedule(_ => _ // .WithIntervalInSeconds(5) // .WithRepeatCount(1)) .Build(); // Detail und Trigger zum Scheduler hinzufügen this.myScheduler.ScheduleJob(jobDetail, jobTrigger); }
public void AddJob(Reminder instReminder, IScheduleListener instCaller) { IJob job = instReminder as IJob; if (job != null) { // JobDetail IJobDetail jobDetail = JobBuilder.Create <Reminder>() .WithDescription(instReminder.Description) .WithIdentity(instReminder.UID) .Build(); jobDetail.JobDataMap["Caller"] = instCaller; // Trigger DateTimeOffset offset = new DateTimeOffset(instReminder.RemindAt); TimeOfDay start = new TimeOfDay(DateTime.Now.Hour, DateTime.Now.Minute); ITrigger jobTrigger = TriggerBuilder.Create() .StartAt(new DateTimeOffset(DateTime.Now)) .WithSimpleSchedule(_ => _ .WithIntervalInSeconds(20) .WithRepeatCount(2)) .Build(); // Detail und Trigger zum Scheduler hinzufügen this.myScheduler.ScheduleJob(jobDetail, jobTrigger); } }
/// <summary> /// Wird vom Scheduler aufgerufen, wenn der Trigger für diesen Reminder ausgelöst wird. /// </summary> /// <param name="context"></param> public void Execute(IJobExecutionContext context) { JobDataMap map = context.JobDetail.JobDataMap; if (map != null) { IScheduleListener listener = map["Caller"] as IScheduleListener; if (listener != null) { listener.ExecuteJob(this); } } }
/// <summary> /// Wird vom Scheduler aufgerufen, wenn der Trigger für diesen Reminder ausgelöst wird. /// </summary> /// <param name="context"></param> //public void Execute(IJobExecutionContext context) //{ // JobDataMap map = context.JobDetail.JobDataMap; // if (map != null) // { // IScheduleListener listener = map["Caller"] as IScheduleListener; // if (listener != null) // { // listener.ExecuteJob(this); // } // } //} #endregion void IJob.Execute(IJobExecutionContext context) { JobDataMap map = context.JobDetail.JobDataMap; if (map != null) { IScheduleListener listener = map["Caller"] as IScheduleListener; if (listener != null) { Reminder reminder = context.JobDetail.JobDataMap["Reminder"] as Reminder; listener.ExecuteJob(reminder); } } }