void CronTriggerDisplay_Load(object sender, EventArgs e) { txtCronExpression.Text = mTrigger.CronExpressionString; lblCronDescription.Text = ExpressionDescriptor.GetDescription(mTrigger.CronExpressionString); lblDescription.Text = mTrigger.Description; lblGroup.Text = mTrigger.Key.Group; lblName.Text = mTrigger.Key.Name; if (mTrigger.GetNextFireTimeUtc().HasValue) { lblNextFireTime.Text = mTrigger.GetNextFireTimeUtc().Value.ToLocalTime().ToString(); } else { lblNextFireTime.Text = @"Unknown"; } if (mTrigger.GetPreviousFireTimeUtc().HasValue) { lblPreviousFireTime.Text = mTrigger.GetPreviousFireTimeUtc().Value.ToLocalTime().ToString(); } else { lblPreviousFireTime.Text = @"Unknown"; } }
public Task_t[] All() { var jobs = TaskHelper.Tasks.ToArray(); for (int i = 0; i < jobs.Length; i++) { //获取上一次和下一次执行时间以及任务状态 JobKey key = new JobKey(jobs[i].Name, jobs[i].Name); IJobDetail detail = TaskHelper.sche.GetJobDetail(key); IList <ITrigger> triggers = TaskHelper.sche.GetTriggersOfJob(key); if (triggers.Count > 0) { ICronTrigger croTri = triggers[0] as ICronTrigger; DateTimeOffset?dtoff = croTri.GetPreviousFireTimeUtc(); if (dtoff != null && dtoff.ToString() != "") { jobs[i].LastDate = TimeZone.CurrentTimeZone.ToLocalTime(Convert.ToDateTime(dtoff.ToString())).ToString("yyyy-MM-dd HH:mm:ss"); } else { jobs[i].LastDate = ""; } dtoff = croTri.GetNextFireTimeUtc(); if (dtoff != null && dtoff.ToString() != "") { jobs[i].NextDate = TimeZone.CurrentTimeZone.ToLocalTime(Convert.ToDateTime(dtoff.ToString())).ToString("yyyy-MM-dd HH:mm:ss"); } else { jobs[i].NextDate = ""; } TriggerState state = TaskHelper.sche.GetTriggerState(croTri.Key); if (state == TriggerState.Complete) { jobs[i].State = "完成"; } else if (state == TriggerState.Error) { jobs[i].State = "出错"; } else if (state == TriggerState.None) { jobs[i].State = "无"; } else if (state == TriggerState.Normal) { jobs[i].State = "正常"; } else if (state == TriggerState.Paused) { jobs[i].State = "暂停"; } else if (state == TriggerState.Blocked) { jobs[i].State = "锁定"; } } } return(jobs); }
public List <JackJob> GetAllJobs() { try { System.Configuration.ConfigurationManager.GetSection("JackTime2RunJobs"); JackJob[] jobs = new JackJob[JobHelper.Jobs.Count]; for (int i = 0; i < JobHelper.Jobs.Count; i++) { jobs[i] = new JackJob() { Name = JobHelper.Jobs[i].Name, Cron = JobHelper.Jobs[i].Cron, LogWhen = JobHelper.Jobs[i].LogWhen, JobType = JobHelper.Jobs[i].JobType, SearchPath = JobHelper.Jobs[i].SearchPath, TypeName = JobHelper.Jobs[i].TypeName, SrcCodeFilePath = JobHelper.Jobs[i].SrcCodeFilePath, Method = JobHelper.Jobs[i].Method, Enable = JobHelper.Jobs[i].Enable, LastDate = JobHelper.Jobs[i].LastDate, NextDate = JobHelper.Jobs[i].NextDate, State = JobHelper.Jobs[i].State }; jobs[i].Paras = new List <string>(); for (int j = 0; j < JobHelper.Jobs[i].Paras.Count; j++) { jobs[i].Paras.Add(JobHelper.Jobs[i].Paras[j]); } } for (int i = 0; i < jobs.Length; i++) { //转化日志类型 if (jobs[i].LogWhen == "0") { jobs[i].LogWhen = "一定记录"; } else if (jobs[i].LogWhen == "1") { jobs[i].LogWhen = "成功时记录"; } else if (jobs[i].LogWhen == "2") { jobs[i].LogWhen = "失败时记录"; } //转化任务类型 if (jobs[i].JobType == "0") { jobs[i].JobType = "动态库"; } else if (jobs[i].JobType == "1") { jobs[i].JobType = "单个cs文件"; } else if (jobs[i].JobType == "2") { jobs[i].JobType = "exe程序"; } //转化使用标志 if (jobs[i].Enable == "0") { jobs[i].Enable = "禁用"; } else if (jobs[i].Enable == "1") { jobs[i].Enable = "可用"; } //获取上一次和下一次执行时间以及任务状态 JobKey key = new JobKey(jobs[i].Name, jobs[i].Name); IJobDetail detail = JobHelper.sche.GetJobDetail(key); IList <ITrigger> triggers = JobHelper.sche.GetTriggersOfJob(key); if (triggers.Count > 0) { ICronTrigger croTri = triggers[0] as ICronTrigger; DateTimeOffset?dtoff = croTri.GetPreviousFireTimeUtc(); if (dtoff != null && dtoff.ToString() != "") { jobs[i].LastDate = TimeZone.CurrentTimeZone.ToLocalTime(Convert.ToDateTime(dtoff.ToString())).ToString("yyyy-MM-dd HH:mm:ss"); } else { jobs[i].LastDate = ""; } dtoff = croTri.GetNextFireTimeUtc(); if (dtoff != null && dtoff.ToString() != "") { jobs[i].NextDate = TimeZone.CurrentTimeZone.ToLocalTime(Convert.ToDateTime(dtoff.ToString())).ToString("yyyy-MM-dd HH:mm:ss"); } else { jobs[i].NextDate = ""; } TriggerState state = JobHelper.sche.GetTriggerState(croTri.Key); if (state == TriggerState.Complete) { jobs[i].State = "完成"; } else if (state == TriggerState.Error) { jobs[i].State = "出错"; } else if (state == TriggerState.None) { jobs[i].State = "无"; } else if (state == TriggerState.Normal) { jobs[i].State = "正常"; } else if (state == TriggerState.Paused) { jobs[i].State = "暂停"; } else if (state == TriggerState.Blocked) { jobs[i].State = "锁定"; } } } return(jobs.ToList()); } catch (Exception ex) { Time2RunSrv.WriteLog("管理端:【Manager】拉去任务失败:" + ex.ToString()); return(null); } }