如何在Quartz中获取所有计划作业和触发器的详细信息.净c#

本文关键字:触发器 详细信息 作业 有计划 Quartz 获取 | 更新日期: 2023-09-27 18:02:37

我必须创建所有计划作业和触发器的管理页面。如何获得在Quartz.NET中运行作业和触发器的详细信息?我可以暂停/停止或更新作业吗?有样例代码吗?

如何在Quartz中获取所有计划作业和触发器的详细信息.净c#

下面是如何使用StdSchedulerFactory

ISchedulerFactory schedFact = new StdSchedulerFactory();
foreach (IScheduler scheduler in schedFact.AllSchedulers)
{
    var scheduler1 = scheduler;
    foreach (var jobDetail in from jobGroupName in scheduler1.JobGroupNames
                              from jobName in scheduler1.GetJobNames(jobGroupName)
                              select scheduler1.GetJobDetail(jobName, jobGroupName))
    {
         //Get props about job from jobDetail
    }
    foreach (var triggerDetail in from triggerGroupName in scheduler1.TriggerGroupNames
                                  from triggerName in scheduler1.GetTriggerNames(triggerGroupName)
                                  select scheduler1.GetTrigger(triggerName, triggerGroupName))
    {
         //Get props about trigger from triggerDetail
    }
}

这里有一个开放的项目就是这样做的。该项目应该包含您创建自己的代码所需的所有代码,或者您可以直接使用开源项目。

基于Web的管理页面

  1. 允许注册现有的Quartz.net安装
  2. 允许查看作业和触发器
  3. 允许调度作业,包括编辑JobDataMaps
  4. 允许查看日历
  5. 允许查看触发次数
  6. 基于Silverlight的时间表显示即将到来的时间表