void CronTriggerDisplay_Load(object sender, EventArgs e) { CronTriggerType triggerType = (CronTriggerType)_triggerData.TriggerType; txtCronExpression.Text = triggerType.CronExpression; lblDescription.Text = _triggerData.Description; lblGroup.Text = _triggerData.GroupName; lblName.Text = _triggerData.Name; lblStartTime.Text = _triggerData.StartDate.ToString("yyyy/MM/dd HH:mm:ss"); if (_triggerData.EndDate.HasValue) { lblEndTime.Text = Convert.ToDateTime(_triggerData.EndDate).ToString("yyyy/MM/dd HH:mm:ss"); } else { lblEndTime.Text = string.Empty; } if (_triggerData.NextFireDate.HasValue) { lblNextFireTime.Text = Convert.ToDateTime(_triggerData.NextFireDate).ToString("yyyy/MM/dd HH:mm:ss"); } else { lblNextFireTime.Text = string.Empty; } if (_triggerData.PreviousFireDate.HasValue) { lblPreviousFireTime.Text = Convert.ToDateTime(_triggerData.PreviousFireDate).ToString("yyyy/MM/dd HH:mm:ss"); } else { lblPreviousFireTime.Text = string.Empty; } }
public void TriggerJob( string jobName, string jobGroup, string triggerName, TriggerType trigger, IDictionary <string, object> jobData) { TriggerBuilder triggerBuilder = TriggerBuilder .Create() .ForJob(jobName, jobGroup); if (!string.IsNullOrEmpty(triggerName)) { triggerBuilder = triggerBuilder.WithIdentity(triggerName); } SimpleTriggerType simpleTrigger = trigger as SimpleTriggerType; if (simpleTrigger != null) { triggerBuilder = triggerBuilder.WithSimpleSchedule(x => { if (simpleTrigger.RepeatCount == -1) { x.RepeatForever(); } else { x.WithRepeatCount(simpleTrigger.RepeatCount); } x.WithInterval(TimeSpan.FromMilliseconds(simpleTrigger.RepeatInterval)); }); } else { CronTriggerType cronTriggerType = trigger as CronTriggerType; if (cronTriggerType != null) { triggerBuilder = triggerBuilder.WithCronSchedule(cronTriggerType.CronExpression); } } if (jobData != null) { triggerBuilder = triggerBuilder.UsingJobData(new JobDataMap(jobData)); } _scheduler.ScheduleJob(triggerBuilder.Build()); }
private static TriggerType CreateTriggerType(AddTriggerInput input) { switch (input.TriggerType) { case "Simple": var simpleTriggerType = new SimpleTriggerType(input.RepeatForever ? -1 : input.RepeatCount, input.RepeatInterval, 0 /* todo */); return(simpleTriggerType); case "Cron": var cronTriggerType = new CronTriggerType(input.CronExpression); return(cronTriggerType); default: throw new ArgumentOutOfRangeException(); } }
public void Execute_CronTrigger_ShouldPassTriggerData() { AssertTriggerType( new AddTriggerInput { Job = "Default", TriggerType = "Cron", CronExpression = "0 0 0 0 0 0" }, type => { Assert.That(type, Is.InstanceOf <CronTriggerType>()); CronTriggerType cronTriggerType = (CronTriggerType)type; Assert.That(cronTriggerType.CronExpression, Is.EqualTo("0 0 0 0 0 0")); }); }
private void loadRunningJobs() { try { this.Cursor = Cursors.WaitCursor; timer_Refresh_Running_Jobs.Stop(); listView_RunningJobs.Items.Clear(); var jobGroups = _schedulerDataProvider.Data.JobGroups; this.listView_RunningJobs.BeginUpdate(); foreach (var jobGroup in jobGroups) { foreach (var job in jobGroup.Jobs) { string jobName = job.UniqueName.Split('_')[1]; string jobGroupName = job.GroupName; foreach (var trigger in job.Triggers) { string triggerName = trigger.Name; string startDate = trigger.StartDate.ToString("yyyy-MM-dd HH:mm:ss"); string endDate = string.Empty; if (trigger.EndDate.HasValue) { endDate = Convert.ToDateTime(trigger.EndDate).ToString("yyyy-MM-dd HH:mm:ss"); } string previousFireDate = string.Empty; if (trigger.PreviousFireDate.HasValue) { previousFireDate = Convert.ToDateTime(trigger.PreviousFireDate).ToString("yyyy-MM-dd HH:mm:ss"); } string nextFireDate = string.Empty; if (trigger.NextFireDate.HasValue) { nextFireDate = Convert.ToDateTime(trigger.NextFireDate).ToString("yyyy-MM-dd HH:mm:ss"); } string triggerTypeMessage = string.Empty; if (trigger.TriggerType.Code == "cron") { CronTriggerType triggerType = (CronTriggerType)trigger.TriggerType; triggerTypeMessage = triggerType.CronExpression; } else if (trigger.TriggerType.Code == "simple") { SimpleTriggerType triggerType = (SimpleTriggerType)trigger.TriggerType; triggerTypeMessage = GetSimpleTriggerTypeMessage(triggerType); } ListViewItem item = new ListViewItem(new[] { jobName, jobGroupName, triggerName, trigger.GroupName, triggerTypeMessage, startDate, //endDate, previousFireDate, nextFireDate, trigger.Status.ToString() }); listView_RunningJobs.Items.Add(item); } } } for (int i = 0; i < listView_RunningJobs.Columns.Count; i++) { listView_RunningJobs.Columns[i].Width = -1; } this.listView_RunningJobs.EndUpdate(); int timer_was = timer_Refresh_Running_Jobs.Interval; timer_Refresh_Running_Jobs.Interval = timer_was + 1; timer_Refresh_Running_Jobs.Interval = timer_was; timer_Refresh_Running_Jobs.Start(); } catch (Exception exception) { throw exception; } finally { this.Cursor = Cursors.Default; } }