版权声明:版权所有,需要请联系作者 https://blog.csdn.net/weixin_42930928/article/details/85387472
Quartz.NET的简单任务管理类:https://blog.csdn.net/weixin_42930928/article/details/85123007
1、首先获取Scheduler
var scheduler = QuartzSchedulerMgr.GetScheduler()
2、获取Scheduler中的JobGroupNames
var groups = scheduler.GetJobGroupNames();
3、for循环逐个对每个group进行处理,可以获取到job的名称信息,以及触发器trigger的下次执行时间等内容
foreach (var groupName in groups)
{
foreach (var jobKey in QuartzSchedulerMgr.GetScheduler().GetJobKeys(GroupMatcher<JobKey>.GroupEquals(groupName)))
{
string jobName = jobKey.Name;
string jobGroup = jobKey.Group;
var triggers = QuartzSchedulerMgr.GetScheduler().GetTriggersOfJob(jobKey);
foreach (ITrigger trigger in triggers)
{
trigger.GetNextFireTimeUtc();
}
}
}
注:下次触发时间为UTC时间,我们这边是北京时间,需要进行转换
TimeZone.CurrentTimeZone.ToLocalTime(Convert.ToDateTime(triggers.ToList()[0].GetNextFireTimeUtc().ToString()))