
Quartz.net学习
文章平均质量分 77
Eye_cng
自强不息,希望不止。
展开
-
Quartz.NET学习系列(九)--- XML任务配置
Quartz.NET除了可以代码定义触发器、任务之外,还可以由XML定义这两个对象。其实Quartz.NET的理想架构是:计划管理容器作为服务器运行在服务机上,而触发器、任务的添加可通过自定义任务管理软件向服务器上添加特定的任务计划。这时就要求数据的持久化以及服务器的容错性了,后面几篇文章将会介绍持久化以及集群相关内容。VS的XML只能提示 第一篇已经将Quartz.NE原创 2015-03-14 20:35:48 · 4650 阅读 · 0 评论 -
Quartz.NET学习系列(四)--- 数据注入
Quartz.NET中任务是需要额外新建一个类继承IJob的,方法入参和出参都是已经规定好了的,这时要想传额外参数就得借助Quartz.NET的内置的对象IJobExecutionContext通过代码JobDataMap data = context.JobDetail.JobDataMap;获取JobDataMap键值对象就可以读写注入的参数了。总的代码如下: p原创 2015-03-14 19:43:58 · 3479 阅读 · 3 评论 -
Quartz.NET学习系列(二)--- 简单触发器
Quartz.NET的触发器比较多,但是常用的有两个分别是SimpleTrigger和CronTrigger,本篇学习下SimpleTrigger SimpleTrigger 的创建方式如下:ISimpleTrigger trigger = (ISimpleTrigger) TriggerBuilder.Create()原创 2015-03-14 18:46:20 · 2032 阅读 · 0 评论 -
Quartz.NET学习系列(一)--- 快速入门
Quartz.NET是一个任务调度的开源框架,官网地址是http://www.quartz-scheduler.net/index.html 帮助文档地址是http://www.quartz-scheduler.net/documentation/index.html目前Quartz.NET的最新版本是2.3.1,本系列以后的文章都是基于这个版本的。先从官网下载2.3.1版本的rar,可在ra原创 2015-03-14 17:08:01 · 3340 阅读 · 0 评论 -
Quartz.NET学习系列(八)--- 任务监听器
Quartz.NET提供了触发器监听接口、任务监听接口、计划监听接口,基本上不怎么使用,除了任务监听接口有使用场景外,其它的监听器目前还未找到使用场景。 任务监听接口需要继承自IJobListener,应用场景可以是:执行完一个任务,自动切换执行另一个任务。具体代码如下: public class SimpleJob1 : IJob { private原创 2015-03-14 20:30:32 · 2763 阅读 · 0 评论 -
Quartz.NET学习系列(七)--- 日历式任务
Quartz.NET除了支持前面几篇讲的持续时间式的任务外,还支持日历式的任务,日历式的任务主要应用场景比如一些节假日或者特定纪念日的任务执行或排除。主要通过AnnualCalendar 类来控制。代码如下: public class SimpleJob : IJob { private static readonly ILog log = LogManager原创 2015-03-14 20:20:20 · 2296 阅读 · 0 评论 -
Quartz.NET学习系列(六)--- 中断任务
Quartz.NET的任务除了继承IJob之外,还可以继承IInterruptableJob。IInterruptableJob为可中断任务,相对于IJob多了个Interrupt接口实现,用于捕获中断事件,当某个任务中断时,可调用Interrupt进行实际的业务处理。 具体代码如下: public class DumbInterruptableJob :原创 2015-03-14 20:10:41 · 3618 阅读 · 0 评论 -
Quartz.NET学习系列(十一)--- Quartz.NET持久化及客户端服务器模式
持久化 Quartz.NET如果不进行数据库相关配置,则默认的执行模式为内存模式,优点是执行速度快,确定就是数据无法存储,宕机了需要重新开始。 持久化只需要做如下配置(以SQLServer为例) NameValueCollection properties = new NameValueCollection();原创 2015-03-14 21:17:21 · 3714 阅读 · 0 评论 -
Quartz.NET学习系列
Quartz.NET是一个开源的任务调度引擎,对于周期性的任务,持续性的任务提供了很好的支持,并支持持久化,集群等功能。一下是我这个对于Quartz.NET的学习记录:Quartz.NET学习系列(一)--- 快速入门Quartz.NET学习系列(二)--- 简单触发器Quartz.NET学习系列(三)--- Cron触发器Qua原创 2015-03-15 09:56:17 · 2038 阅读 · 1 评论 -
Quartz.NET学习系列(三)--- Cron触发器
Cron触发器是使用Cron表达式来配置任务的时间的。Cron表达式介绍 Cron表达式总共有7个值,其中一个可选,具体如下(摘自官方文档):值是否必须允许的值范围允许的字符SecondsYES0-59, - * /MinutesYES0原创 2015-03-14 19:06:34 · 1860 阅读 · 0 评论 -
Quartz.NET学习系列(十二)--- Quartz.NET集群
Quartz.NET提供了集群的配置,这个集群并不能达到负载均衡的效果,而仅仅提供了故障转移的功能,主要场景是:两个节点的Quartz.NET任务服务器同时连接到另一个节点的数据库服务器,当一个任务服务器宕机时,另一个任务服务器会启动。 集群的主要配置如下:properties["quartz.jobStore.clustered"] = "true";总的代码如下:原创 2015-03-14 21:29:37 · 3229 阅读 · 0 评论 -
Quartz.NET学习系列(十)--- 触发器执行优先级
在使用Quartz.NET的时候可能会碰到这样一种情况,多个触发器触发同一个任务时,当多个触发器触发的时间相互冲突时,也就是在同一时间触发同一个任务,这时候就需要有一个触发的优先级了,即由哪个触发器来触发,如果不设置优先级的话,Quartz.NET会按照默认的方式处理。设置优先级的代码如下: public class TriggerEchoJob : IJob {原创 2015-03-14 21:05:06 · 3053 阅读 · 0 评论 -
Quartz.NET学习系列(五)--- 失败恢复和异常处理
Quartz.NET为了提高程序的容错性,加入了失败恢复和异常处理的机制。失败恢复 失败恢复是Quartz.NET触发器的方法,用于指示失败之后的操作 ISimpleTrigger trigger = (ISimpleTrigger)TriggerBuilder.Create() .Wi原创 2015-03-14 19:55:42 · 6194 阅读 · 0 评论