public static void ReSchedule(string guid) { var task = JobRepository.GetByGuid(guid); var job = JobRepository.SetTaskOneTimeOnly(guid, task.Alias, task.Data); JobScheduler.LaunchJob <JobList.CommandJob>(guid); }
public static void LaunchJob <T>(string guid) where T : IJob { var _task = JobRepository.GetByGuid(guid); IJobDetail task = JobBuilder.Create <T>() .WithIdentity(_task.Alias, Guid.NewGuid().ToString()) .UsingJobData("data", _task.Data) .UsingJobData("jobID", _task.Guid) .Build(); ITrigger trigger; switch (_task.TriggerPeriod) { case TriggerPeriod.IsOneTimeOnly: trigger = DefineOneTimeOnlyTrigger(_task.Alias, _task.StartTime); break; case TriggerPeriod.IsCron: trigger = DefineCronTrigger(_task.Alias, _task.StartTime, _task.CronExpression); break; case TriggerPeriod.WithInterval: trigger = DefineIntervalTrigger(_task.Alias, _task.StartTime, _task.IntervalType, _task.IntervalSpan, _task.Count); break; default: trigger = DefineDefaultTrigger(_task.Alias); break; } __scheduler.ScheduleJob(task, trigger); }