架构师_程序员

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 964|回复: 6

[框架] 开源作业调度框架Quartz

[复制链接]
发表于 2019-5-18 16:51:41 | 显示全部楼层
本帖最后由 空蝉如此世 于 2019-5-18 16:53 编辑

前言



在上篇里提到定时执行任务,用Topshelf配合Quartz.Net 使用,会很方便。本篇将会记录Quartz.Net 的使用方法。



工具

>VS 2017




正文

Quartz这个开源框架一般是配合定时服务一起使用的。在上一篇Topshelf的基础上,代码只要稍加修改就可以了。


1:新建控制台应用程序。


2:引入Topshelf 和 Quartz dll(搭配Common.Logging.Core.dll 一起使用)


2-1.png


3:新建两个类,类名分别是 :ServiceRunner.cs  和 TestJob.cs


4:在Program Main 函数中 贴入Topshelf 代码。





5:在ServiceRunner.cs 中贴入


在上面代码中,实现的是,每隔多少秒触发一次。也可以实现固定的时间去触发。比如:每天6点执行。每周一10点执行等等。 可参考 Quartz  Cron 表达式。

写法也有相应的修改




6:在TestJob.cs中贴入




7:F5启动,就能看到每隔三秒输出一行数据。

8:调试好之后,就可以按照上篇的方法 安装服务了。也可以直接写个批处理文件,只要运行就可以了。不用敲命令行

安装服务:
新建一个记事本:重命名并更改后缀名 :Install.bat
右击记事本打开,并贴入以下命令,保存。

卸载服务:
新建一个记事本:重命名并更改后缀名 :Uninstall.bat
右击记事本打开,并贴入以下命令,保存。



注意:
  >安装后,要启动服务,才会运行。
  >安装和卸载服务都要使用管理员权限。
  >修改配置文件后,需要重启服务才会生效。


尾声

  本文只贴代码和简单的使用。具体理论资料可参考  Quartz 官方文档。









上一篇:关于BIO和NIO的理解
下一篇:请教 java 操作 rabbitmq ,basicQos() 无效问题
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2019-5-18 17:02:47 来自手机 | 显示全部楼层
棒棒哒
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2019-5-20 09:30:40 | 显示全部楼层
怎么动态添加删除计划任务呢?
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2019-5-20 09:37:17 | 显示全部楼层
学习学习
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2019-5-20 09:44:44 | 显示全部楼层
很棒,之前写了一个实时监测的服务,这个定时启动服务以后说不定用得着
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2019-5-21 13:36:57 | 显示全部楼层
空蝉大佬牛逼
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2019-5-26 13:18:04 | 显示全部楼层
小渣渣 发表于 2019-5-20 09:30
怎么动态添加删除计划任务呢?

可以建一个 泛型任务类。继承IJob 接口。调用传参就好了。
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|Archiver|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2020-7-12 19:57

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表