Quartz.NET(调度框架)

起因

  最近一直在开发一个定时提醒并重复的功能,于是站在巨人的肩膀上,先是问了李总,李总给我提了一个对我来说很新奇的框架,Quartz.NET,调度框架。
   Quartz.NET是一个任务调度的开源框架,包括触发器操作,任务中断,数据库操作,集群等等。
  我做的模块主要是就是日历,要把本来数据库里只有一条数据的提醒重复任务都展现在日历中,这时这个框架就起了很棒的作用。

介绍

   Quartz.NET的应用程序可以重用来自不同事件的作业,还可以为一个事件组合多个作业。
  这句话是什么意思呢?
举个栗子
  有个任务每天或每周星期二晚上11:30,或许仅仅每个月的最后一天执行。一个自动执行而无须干预的任务在执行过程中如果发生一个严重错误,应用能够知到其执行失败并尝试重新执行吗?你和你的团队是用.NET编程吗?如果这些问题中任何一个你回答是,那么你应该使用Quartz.NET调度器。 Quartz.NET允许开发人员根据时间间隔(或天)来调度作业。它实现了作业和触发器的多对多关系,还能把多个作业与不同的触发器关联。整合了 Quartz.NET的应用程序可以重用来自不同事件的作业,还可以为一个事件组合多个作业.
  它大概就是干这个的吧。

安装

  1、首先建立一个名称为“TestQuartz.net”的控制台项目,然后使用Nuget安装Quartz.net

这里写图片描述
   2、下载Quartz.net能用的mysql .net数据驱动文件,MySql.Data 6.5.4

  在vs的“工具”菜单中找到“NUGET程序包管理器”并点击“程序包管理控制台”
  

这里写图片描述
   打开界面如下:输入 Install-Package MySql.Data -Version 6.5.4 并输入回车安装
这里写图片描述

优点

  你可以你不需要直接写sql语句,quart提供的类库就能自动对数据库进行填充,以完成对任务调度的管理操作。
  这里还有一些他自己的表达式:cron表达式

这里写图片描述
这里写图片描述

举个栗子

  1、0**1*? note:每月1号凌晨都会被执行。
  2、0**?** note:每分钟的00秒被执行。
  3、0 10 18 ? 3 WEB note:每年3月的每个星期三,下午6点10分都会被触发
  4、0 10 18 15 3 ? note:每年三月的第15天,下午6点10分都会被触发
  5、0 10 18 1-5 * ? note:每月的1号到5号(包含每月1号和5号,每月共计5天都会被触发),下午6点10分都会被触发

猜你喜欢

转载自blog.csdn.net/dfhgshgdf/article/details/79603252