Quartz 作业调度用法详解

来源:互联网 发布:帝国cms空间模板 编辑:程序博客网 时间:2024/06/05 07:27

前言

我从Quartz2.0开始使用,并对其进行了封装了界面,可以参考 http://www.cnblogs.com/ymnets/p/5065154.html

最近拿出来进行了优化,并升级到最新版,温故而知新嘛

当初教程较少,并且是英文,现在很多地方都有中文的教程也是学习起来事半功倍

Quartz能实现什么?

他类似于SQL Server的代理与Timer定时器:

1.指定时间执行一条SQL语句或存储过程

2.指定时间发送邮件(执行一个C#方法)

3.有规律的定时执行想要做的事情(通过配置Cron表达式来实现),如:每个星期1,3,5给用户发送一条短信

4.作业任务他可以被暂停,挂起,停止

5.作业任务可以远程被操作管理,数据库保存(支持多种数据库包括:SqlServer,Sqlite,Oracle,Mysql,Firebird)

使用方法

Quartz 作业调度用法详解

简单的实现

我们新建一个控制台程序,并安装Quartz包

Quartz 作业调度用法详解

Quartz 作业调度用法详解

运行结果:

Quartz 作业调度用法详解

您也可以用表达式的形式来运行:

Quartz 作业调度用法详解

效果也是一样的!

下面我们来看一个类图:

Quartz 作业调度用法详解

这个类图描述了,Quartz运行的基本原理

如何学习其表达式

我们无需要刻意去背诵他表达式的含义

Quartz 作业调度用法详解

可以通过界面的操作来看到生成表达式,使用几次就很少明白。

后台封装成界面,更加无需要去记得表达式,通过界面的配置即可

当然你需要知道字符代表的意思,如:*,?等符号,跟通配符有点类似,可以百度

注:实际上我们后面要做的功能也是基于这种界面,然后手选后将生成的表达式作为运行的定时器而已

总结

Quartz比Timer定时器好用多了,定时器还要部署windows任务

1.HelloJob集成了类图中所示的IJob接口并实现了void Execute(IJobExecutionContext context);方法,这是必须的!

2.由StdSchedulerFactory.GetDefaultScheduler();来获得一个调度器

3.把任务加入到触发器

4.开启任务,自动跑起来

500万阳光就业基金等你拿:

http://www.ujiuye.com/zt/jyfc/?wt.bd=fq37300j

竟然有人赔本办求学夏令营?

http://www.ujiuye.com/zt/qgsqxly/?wt.bd=fq37300j

优就业官网:http://www.ujiuye.com/?wt.bd=fq37300j

原创粉丝点击