开源作业调度框架 - Quartz.NET - 实战使用2
2016-06-28 11:14
423 查看
纠正第一篇文章的一个错误代码。
下面是错误代码,这样并不能得知系统中是否已经存在该JobId
正确获取JobKey和IJobDetail对象的方法如下
这种方法使用Job的GroupName组名进行匹配查找,先将该组所有的JobKey返回再进行循环查找,
什么?你没有设置GroupName?
如果没有设置GroupName则GroupName为DEFAULT
当然也可以用GroupMatcher<JobKey>的其它方法进行匹配如
AnyGroup();
GroupContains(string compareTo);
GroupStartsWith(string compareTo);
GroupEndsWith(string compareTo);
GroupEquals(string compareTo);
下面是错误代码,这样并不能得知系统中是否已经存在该JobId
//实例化一个作业Key对象,用于获取作业对象或判断是否存在作业时使用。 JobKey jobKey = new JobKey(identity); //通过作业Ke对象 获取已经添加过同一个作业,(如果没有为NULL) IJobDetail job = scheduler.GetJobDetail(jobKey); //检查调度中是否存在该作业,存在并且参数有变化就删除作业。 if (scheduler.CheckExists(jobKey) && job.JobDataMap["cron"].ToString() != cron) { scheduler.DeleteJob(jobKey); }
正确获取JobKey和IJobDetail对象的方法如下
这种方法使用Job的GroupName组名进行匹配查找,先将该组所有的JobKey返回再进行循环查找,
什么?你没有设置GroupName?
如果没有设置GroupName则GroupName为DEFAULT
当然也可以用GroupMatcher<JobKey>的其它方法进行匹配如
AnyGroup();
GroupContains(string compareTo);
GroupStartsWith(string compareTo);
GroupEndsWith(string compareTo);
GroupEquals(string compareTo);
//首先需要根据组名来查找到JobKey的ISet集合。 GroupMatcher<JobKey> matcher = GroupMatcher<JobKey>.GroupEquals(groupName); //注意:这里并不是System.Collection中的ISet<T>。 Quartz.Collection.ISet<JobKey> keys = scheduler.GetJobKeys(matcher); //使用枚举对象循环查找 var en = keys.GetEnumerator(); while (en.MoveNext()) { string rowid = en.Current.Name.Replace("reportTime", ""); if (dt.Select("id='" + rowid + "'").Length == 0) { LogHelper.AddLog("定时模块", "检测该计划配置信息已不存在,将删除定时计算任务。", ""); scheduler.DeleteJob(en.Current); } }
相关文章推荐
- C# String.Format大全 去 decimal 后面的 0
- Windows下NDK开发环境的搭建(Cygwin+Android-SDK+NDK)(转)
- 如何保护企业服务器安全
- 最快让你上手ReactiveCocoa之基础篇
- EL和JSTL
- 使用 PowerShell 自动登录Azure
- jsp的语法
- spring websocket + stomp 实现广播通信和一对一通信<转>
- 关于枚举
- 关于VS2013 项目编译时,出现C1083的错误
- 广义距离变换
- Java的Integer与int互转
- Greenplum+Hadoop学习笔记-Greenplum概述及架构
- Android(六)----页面跳转和数据传递
- iOS 常用公共方法(一)
- 管理者的角色修炼-第三课-赢在执行
- Windows下用IIS搭建ftp服务器不能使用详解
- 将Vim改造为强大的IDE—Vim集成Ctags/Taglist/Cscope/Winmanager/NERDTree/OmniCppComplete
- Android Studio 环境搭建
- Decorator装饰模式详解--设计模式(8)