首先奉上quartz官网,官网内附有此框架的各个版本以及详细教程的方法讲解,可自行了解
https://www.quartz-scheduler.net/
第一步:添加程序集,解决方案——右键项目——管理NuGet程序包
搜索quartz,并下载,如下图,此处我当前下载的版本是v3.0.6
下载完成后会发现项目引用里面多了几个引用,并且多了一个packages.config文件 此时第一步结束
由于后续需要用到打印log日志,我需要用到log4net,所以我用相同的方法添加了引用,并进行了app.config文件的配置
第二步:了解Quartz一些关键接口和类
Quartz API的关键接口和类是:
- IScheduler - 与调度程序交互的主要API。
- IJob - 由您希望由调度程序执行的组件实现的接口。
- IJobDetail - 用于定义Jobs的实例。
- ITrigger - 一个组件,用于定义执行给定作业的计划。
- JobBuilder - 用于定义/构建JobDetail实例,用于定义Jobs的实例。
- TriggerBuilder - 用于定义/构建触发器实例。
一个调度程序的生命周期是由它为界的创作,通过SchedulerFactory和其关断()方法的调用。创建后,可以使用IScheduler接口添加,删除和列出作业和触发器,以及执行其他与调度相关的操作(例如暂停触发器)。但是,在使用Start()方法启动调度程序之前,调度程序实际上不会对任何触发器执行(执行作业)
第三步:新建一个windows服务,接着我定义了一个接口,并且新建两个文件夹,一个Jobs,一个Tiggers(这里是考虑到一个项目里面可能有多个定时任务,而每个定时任务的触发时间都不同)
using System;
using System.Collections.Generic;
using Syste