Example #1
0
        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);
        }
Example #2
0
        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);
        }