使用Quartz.net来执行定时任务
Quartz.net使用方法:http://www.cnblogs.com/lizichao1991/p/5707604.html
最近,项目中需要执行一个计划任务,组长就让我了解一下Quartz.net 这个组件,挺简单的一个组件,实现起来特别的方便,灵活,值得推荐给大家一起学习一下这个小工具。以前我有的时候是使用定时器Timer,还有数据库中的 计划任务,后来发现这些真的太不好用了。下面我介绍一下这个组件的使用步骤和注意事项,仅供参考,有什么不对的地方,希望大家多多见谅并帮我指出来,大家 相互学习嘛。
首先,简述一下Quartz.net 组件的基本概念:它是一个简单的执行任务计划的组件,基本包括这三部分:Job(作业)、Trigger(触发器)、scheduler(调度器)。
1.Job 作业:需要在任务计划中执行的具体逻辑操作
2.Trigger 触发器:需要什么时间什么规则来去执行Job 作业
3.scheduler 调度器 :将Job 和 Trigger 注册到 scheduler 调度器中,主要负责协调Job、Trigger 的运行
第一步:下载Quartz.net 组件
在VS 中 工具 > NuGet 程序包管理器 > 程序包管理控制台 点击打开 在控制台上输入 Install-Package Quartz 就可以成功下载下来了,详见如图所示:
aaarticlea/png;base64,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" alt="" />
第二步:在VS 中我们创建一个类库,这样方便我们移植程序,也方便我们代码的分离;一个Job 创建一个实例类,下面我会创建两个实例类一个是UpdateCompleteJob.cs、UpdateAutoCancelStateJob.cs (之所以创建两个Job是为了能方便大家了解这个组件可以同时执行多个任务)
(1) UpdateCompleteJob.cs 代码如下:
using Quartz;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WechatMall.Application.BLL;
using WechatMall.Application.Data;
using WechatMall.Model.ExpressModel; namespace WechatMallJobLibrary
{
public class UpdateCompleteJob : IJob
{
/// <summary>
///在Job 中我们必须实现IJob接口中的Execute 这个方法,才能正确的使用Job
/// </summary>
public void Execute(IJobExecutionContext context)
{
using (var _ctx = new BtDbContext())
{
List<string> expressCode = new List<string>(); var query = _ctx.Orders.Where(c => c.OrderStatus == WechatMall.Common.EnumHelper.OrderStatus.Sended
&& c.PayStatus == WechatMall.Common.EnumHelper.PayStatus.Paid).OrderBy(c => c.CreateTime).ToList().Take(); foreach (var item in query)
{
if (!string.IsNullOrEmpty(item.ExpressCode))
{
ExpressModel model = ExpressAPI._GetExpress(item.ExpressCode); //确定 快递已签收 修改订单状态 已完成
if (model.state == "" && model.ischeck == "")
{
var order = _ctx.Orders.FirstOrDefault( c => c.OrderId == item.OrderId); order.OrderStatus = WechatMall.Common.EnumHelper.OrderStatus.Over;
order.FlowStatus = WechatMall.Common.EnumHelper.FlowStatus.Over;
order.UpdateTime = DateTime.Now; _ctx.SaveChanges();
}
} } }
}
}
}
(2) UpdateAutoCancelStateJob.cs 代码如下:
using Quartz;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WechatMall.Application.Data; namespace WechatMallJobLibrary
{
public class UpdateAutoCancelStateJob:IJob
{
public void Execute(IJobExecutionContext context)
{
using (var _ctx = new BtDbContext())
{
var order = _ctx.Orders.FirstOrDefault(c => c.OrderStatus == WechatMall.Common.EnumHelper.OrderStatus.UnSend
&& c.PayStatus == WechatMall.Common.EnumHelper.PayStatus.UnPaid); if (this.DateDiff(DateTime.Now,order.CreateTime) > )
{
order.OrderStatus = WechatMall.Common.EnumHelper.OrderStatus.Cancel;
order.FlowStatus = WechatMall.Common.EnumHelper.FlowStatus.Cancel;
order.UpdateTime = DateTime.Now; _ctx.SaveChanges();
}
}
} //计算时间差的方法
private int DateDiff(DateTime DateTime1, DateTime DateTime2)
{
int dateDiff = ;
TimeSpan ts1 = new TimeSpan(DateTime1.Ticks);
TimeSpan ts2 = new
TimeSpan(DateTime2.Ticks);
TimeSpan ts = ts1.Subtract(ts2).Duration();
// dateDiff = ts.Days.ToString()+"天"+ ts.Hours.ToString()+"小时"+ ts.Minutes.ToString()+"分钟"+ ts.Seconds.ToString()+"秒";
dateDiff = ts.Minutes; return dateDiff;
}
}
}
备注:解释一下上面两个类中的方法中的IJobExecutionContext 参数是什么意思,在Execute方法有一个IJobExecutionContext的接口对象作为参数,这个参数包含了定义这个类的job(作业)的配置信息。作为实例在这里我就没有展示是怎么使用的,有时间我会补充上去的。
第三步:就该设置Trigger 触发器,在实际中我是将Trigger和Job 直接注册到 scheduler 调度器中;在这里其实还有一小步没有指出来就是需要将类库生成的DLL 拷贝到你的需要执行的项目的文件中.详见3.1 中的图
3.1 下面标红的是dll 所放文件的名字,在下面的代码中需要使用的,小伙伴们多注意一下
aaarticlea/png;base64,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" alt="" />
具体的代码如下:
using Quartz;
using Quartz.Impl;
using Quartz.Impl.Triggers;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Web;
using System.Xml.Linq; namespace WechatMall.SysManage.JobAutoUpdateState
{
public class JobManage
{
private static ISchedulerFactory sf = new StdSchedulerFactory(); //调度器
private static IScheduler scheduler; /// <summary>
/// 读取调度器配置文件的开始时间
/// </summary>
public static void StartScheduleFromConfig()
{
string currentDir = AppDomain.CurrentDomain.BaseDirectory; try
{
XDocument xDoc = XDocument.Load(Path.Combine(currentDir, "JobScheduler.config"));
var jobScheduler = from x in xDoc.Descendants("JobScheduler") select x; var jobs = jobScheduler.Elements("Job");
XElement jobDetailXElement, triggerXElement; //获取调度器
scheduler = sf.GetScheduler(); //声明触发器
CronTriggerImpl cronTrigger; foreach (var job in jobs)
{
//加载程序集joblibaray
Assembly ass = Assembly.LoadFrom(Path.Combine(currentDir+ "JobAutoUpdateState\\", job.Element("DllName").Value)); //获取任务名字
jobDetailXElement = job.Element("JobDetail");
//获取任务触发的时间
triggerXElement = job.Element("Trigger"); JobDetailImpl jobDetail = new JobDetailImpl(jobDetailXElement.Attribute("job").Value,
jobDetailXElement.Attribute("group").Value,
ass.GetType(jobDetailXElement.Attribute("jobtype").Value)); if (triggerXElement.Attribute("type").Value.Equals("CronTrigger"))
{
cronTrigger = new CronTriggerImpl(triggerXElement.Attribute("name").Value,
triggerXElement.Attribute("group").Value,
triggerXElement.Attribute("expression").Value);
//添加定时器
scheduler.ScheduleJob(jobDetail, cronTrigger);
}
} //开始执行定时器
scheduler.Start(); }
catch (Exception)
{ } } /// <summary>
/// 关闭定时器
/// </summary>
public static void ShutDown()
{
if (scheduler != null && !scheduler.IsShutdown)
{
scheduler.Shutdown();
}
}
}
}
第四步:配置文件,主要是控制任务执行的时间和Job 的加载
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<JobScheduler>
<Job Description="作业1">
<DllName>WechatMallJobLibrary.dll</DllName>
<JobDetail job="test1" group="test1Group" jobtype="WechatMallJobLibrary.UpdateCompleteJob" />
<Trigger name="test1" group="test1Group" type="CronTrigger" expression="0 0/30 * * * ?" />
</Job>
<Job Description="作业2">
<DllName>WechatMallJobLibrary.dll</DllName>
<JobDetail job="test2" group="test2Group" jobtype="WechatMallJobLibrary.UpdateAutoCancelStateJob" />
<Trigger name="test2" group="test2Group" type="CronTrigger" expression="0/30 * * * * ?" />
</Job>
</JobScheduler> </configuration>
备注:下面解析一下配置中重要的几个属性 <DllName>WechatMallJobLibrary.dll</DllName> dll的名字 ;jobtype 属性是dll名字+实例类的名字;expression 这个是设置执行的时间,后续我介绍这个时间的设置
第五步:需要将scheduler 调度器注册到程序中;在程序中Global.asax.cs 中文件中添加注册,在这里启动执行任务。
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles); //执行的任务
JobManage.StartScheduleFromConfig(); }
OK,上面的就是Quartz.Net 组件执行定时任务的全部流程了,有什么问题希望大家批评指出;下面就来说明一下设置执行任务的时间的设置:
下面的任务执行时间是参考http://blog.csdn.net/foamflower/article/details/4260645 中的,请详见
CronTrigger 配置设置格式:
1.格式: [秒] [分] [小时] [日] [月] [周] [年]
列入:0 0/30 * * * ? 时隔 30 分钟执行一次
0/30 * * * * ? 时隔 30 秒执行一次
序号
说明 |
是否必填 | 允许填写的值 | 允许的通配符 | |
1 | 秒 | 是 | 0-59 | , - * / |
2 | 分 | 是 | 0-59 | , - * / |
3 | 小时 | 是 | 0-23 | , - * / |
4 | 日 | 是 | 1-31 | , - * ? / L W |
5 | 月 | 是 | 1-12 or JAN-DEC | , - * / |
6 | 周 | 是 | 1-7 or SUN-SAT | , - * ? / L # |
7 | 年 | 否 | empty 或 1970-2099 | , - * / |
2.通配符
* :表示所有值. 例如:在分的字段上设置 "*",表示每一分钟都会触发。
? :表示不指定值。使用的场景为不需要关心当前设置这个字段的值。例如:要在每月的10号触发一个操作,但不关心是周几,所以需要周位置的那个字段设置为"?" 具体设置为 0 0 0 10 * ?
- :表示区间。例如 在小时上设置 "10-12",表示 10,11,12点都会触发。
, :表示指定多个值,例如在周字段上设置 "MON,WED,FRI" 表示周一,周三和周五触发
/ :用于递增触发。如在秒上面设置"5/15" 表示从5秒开始,每增15秒触发(5,20,35,50)。 在月字段上设置'1/3'所示每月1号开始,每隔三天触发一次。
L :表示最后的意思。在日字段设置上,表示当月的最后一天(依据当前月份,如果是二月还会依据是否是润年[leap]), 在周字段上表示星期六,相当于"7"或"SAT"。如果在"L"前加上数字,则表示该数据的最后一个。
例如在周字段上设置"6L"这样的格式,则表示“本月最后一个星期五"
W :表示离指定日期的最近那个工作日(周一至周五). 例如在日字段上设置"15W",表示离每月15号最近的那个工作日触发。如果15号正好是周六,则找最近的周五(14号)触发, 如果15号是周未,则找最近的下周一(16号)触发.如果15号正好在工作日(周一至周五),则就在该天触发。如果指定格式为 "1W",它则表示每月1号往后最近的工作日触发。如果1号正是周六,则将在3号下周一触发。(注,"W"前只能设置具体的数字,不允许区间"-").
'L'和 'W'可以一组合使用。如果在日字段上设置"LW",则表示在本月的最后一个工作日触发
# :序号(表示每月的第几周星期几),例如在周字段上设置"6#3"表示在每月的第三个周星期六.注意如果指定"6#5",正好第五周没有星期六,则不会触发该配置(用在母亲节和父亲节再合适不过了)
周字段的设置,若使用英文字母是不区分大小写的 MON 与mon相同.
常用示例:
格式: [秒] [分] [小时] [日] [月] [周] [年]
0 0 12 * * ? 每天12点触发
0/30 * * * * ? 时隔 30 秒执行一次
0 15 10 ? * * 每天10点15分触发
0 15 10 * * ? 每天10点15分触发
0 15 10 * * ? * 每天10点15分触发
0 15 10 * * ? 2005 2005年每天10点15分触发
0 * 14 * * ? 每天下午的 2点到2点59分每分触发
0 0/5 14 * * ? 每天下午的 2点到2点59分(整点开始,每隔5分触发)
0 0/5 14,18 * * ? 每天下午的 18点到18点59分(整点开始,每隔5分触发)
0 0-5 14 * * ? 每天下午的 2点到2点05分每分触发
0 10,44 14 ? 3 WED 3月分每周三下午的 2点10分和2点44分触发
0 15 10 ? * MON-FRI 从周一到周五每天上午的10点15分触发
0 15 10 15 * ? 每月15号上午10点15分触发
0 15 10 L * ? 每月最后一天的10点15分触发
0 15 10 ? * 6L 每月最后一周的星期五的10点15分触发
0 15 10 ? * 6L 2002-2005 从2002年到2005年每月最后一周的星期五的10点15分触发
0 15 10 ? * 6#3 每月的第三周的星期五开始触发
0 0 12 1/5 * ? 每月的第一个中午开始每隔5天触发一次
0 11 11 11 11 ? 每年的11月11号 11点11分触发(光棍节)
在IIS中防止空闲进程被销毁导致定时任务无法执行的问题
转自:http://www.cnblogs.com/yi-ye/p/5577194.html
操作系统:WinServer2008 R2
IIS版本:IIS7.0
目的:利用IIS挂载服务,定时或循环作业
症状:在网站的Global.asax.cs文件的Application_Start方法中添加定时器,IIS启动并打开网站后定时器自动运行。网站不刷新20分钟后,定时器不运行。
解决办法:将IIS管理器->应用程序池->高级设置->进程模型->闲置超时改为0即可。
为保证定时器正常运行,每日定时重启IIS服务,刷新该网页
用批处理实现,重启与刷新操作,代码如下:
@echo off
net stop w3svc
net start w3svc
@echo off
echo set ierunner=createobject("wscript.shell") > ie.vbs
echo ierunner.run "cmd /c start iexplore http://localhost/",0 >>ie.vbs
echo wscript.sleep 8000 >> ie.vbs
echo ierunner.sendkeys "%%{F4}" >> ie.vbs
cscript //nologo ie.vbs
del ie.vbs
将此批处理程序添加到系统定时启动任务中,即实现定时重启IIS,且正常运行定时作业。
使用Quartz.net来执行定时任务的更多相关文章
- java定时任务以及Spring使用Quartz调度器执行定时任务
java下的java.util.Timer中类可以实现定时执行任务的执行: 如:让任务立即执行,每隔1s循环执行一次 public class TimerClass { public static v ...
- 在ASP.NET MVC4中使用Quartz.NET执行定时任务
本篇在ASP.NET MVC下实践使用Quartz.NET执行定时任务. 首先通过NuGet安装Quartz.NET. 使用Quartz.NET的大致思路是:1.实现IJob接口,定义具体要做的事情2 ...
- ASP.NET Core2.2+Quartz.Net 实现web定时任务
作为一枚后端程序狗,项目实践常遇到定时任务的工作,最容易想到的的思路就是利用Windows计划任务/wndows service程序/Crontab程序等主机方法在主机上部署定时任务程序/脚本. 但是 ...
- springboot整合Quartz实现动态配置定时任务
前言 在我们日常的开发中,很多时候,定时任务都不是写死的,而是写到数据库中,从而实现定时任务的动态配置,下面就通过一个简单的示例,来实现这个功能. 一.新建一个springboot工程,并添加依赖 & ...
- .NET Core中使用IHostedService结合队列执行定时任务
最近遇到了这样的场景:每隔一段时间,需要在后台使用队列对一批数据进行业务处理. Quartz.NET是一种选择,在 .NET Core中,可以使用IHostedService执行后台定时任务.在本篇中 ...
- MVC中使用Hangfire执行定时任务
需求描述 项目中有一个通知公告的功能,在后台管理员添加公告后需要推送消息给所有注册用户,让其查看消息.消息推送移动端采用极光推送,但是消息在何时发送是个问题,比如说有一个重要的会议通知,可能希望在会议 ...
- @Scheduled执行定时任务与cron表达式
1 配置文件形式执行定时任务 1 1.X 版本与spring结合使用实例 1.1 常用maven管理 pom.xml文件 <project xmlns="http://maven.ap ...
- springboot和quartz整合实现动态定时任务(持久化单节点)
Quartz是一个完全由java编写的开源作业调度框架,为在Java应用程序中进行作业调度提供了简单却强大的机制,它支持定时任务持久化到数据库,从而避免了重启服务器时任务丢失,支持分布式多节点,大大的 ...
- 使用spring+quartz配置多个定时任务
Spring被用在了越来越多的项目中, quartz也被公认为是比较好用的定时器设置工具, 在这里通过一个demo说明如何使用spring和quartz配置多个定时任务. 环境: eclipse + ...
随机推荐
- FP-Growth in Spark MLLib
并行FP-Growth算法思路 上图的单线程形成的FP-Tree. 分布式算法事实上是对FP-Tree进行分割,分而治之 首先,假设我们只关心...|c这个conditional transactio ...
- EasyUi Grid以POST方式传送参数绑定
function LoadList() { $("#TableContainer").datagrid({ url: '/HM/ ...
- Asp.net MVC5 返回json数据忽略序列化属性
在属性上添加 [ScriptIgnore] 特性,命名空间是System.Web.Script.Serialization
- ie下警告console未定义
低版本IE6/7/8/9浏览器没有定义console对象,所以代码会中断执行.自己测试,ie11也没有(打开控制台的情况下可以用) 可以用如下代码完美解决. window.console = wind ...
- mysql之使用centos7实现主从复制(读写分离)的实现过程
什么是主从复制? 主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库:主数据库一般是准实时的业务数据库. 主从复制的作用(好处)! 1.做数据的热备,作为后备数据库,主数据库服务器故 ...
- .net core cache使用
整理下.net core cache的使用 Nuget安装 Microsoft.Extensions.Caching.Memory using Microsoft.Extensions.Cachi ...
- [招聘] 上海耐斯特数字招聘3D图形软件工程师
公司介绍 上海耐斯特数字科技有限公司成立于2018年9月,致力于为中国原创动画.影视行业提供新一代核心技术解决方案和全流程技术服务.公司创始团队拥有国内外领先的行业背景与资源,在DCC软件开发方面具有 ...
- java 处理json格式数据中的转义斜杠
1.{\"Count\":\"3\",\"ErrorString\":\"\",\"Success\" ...
- Code Chef DARTSEGM(计算几何+凸包)
题面 传送门 题解 好眼熟丫-- 一月月赛最后一题--,代码都不用改-- //minamoto #include<bits/stdc++.h> #define R register #de ...
- maven配置时mvn不是内部或外部问题解决
参考这里