Quarzt.NET的Cron表达式理解

网上关于Quarzt.NET的Cron表达式介绍有很多,但都是基本的语法,稍微深入一些的就没有了。

基本语法介绍请参看:

http://www.cnblogs.com/lzrabbit/archive/2012/04/14/2371420.html

在项目中遇到一个复杂需求:在2014-01-01到2015-12-31区间内,每天的00:10:00到08:20:00之间每隔两分钟执行一次任务。

刚开始想用一个Cron表达式来实现,怎么想都不对,也没有对Cron理解透彻。

后来在CSDN请教了高手,解决了,连接地址如下:

http://bbs.csdn.net/topics/390922376

结合这两周做的项目,对Cron表达式记录下,对于正好有需求的人方便理解。

小时可以有区间的概念,比如:00 20 00-15/2 01-31 01-12 ? 2014-2014
就是在0点到15点的20分,每过2小时执行一次。

但是秒和分钟没有区间的概念,因为该区间依赖小时;
比如:00 20-30/2 00-15 01-31 01-12 ? 2014-2014
这个代表的意思是0点到15点的每个小时的20分到30分之间每过2分钟执行一次。
而不是00:20:00到15:30:00之间每过2分钟执行一次。

0/30 11 00 01-31 01-12 ? 2014-2014
0/30 0 1-14 01-31 01-12 ? 2014-2014
0/30 0-40 15 01-31 01-12 ? 2014-2014
这三个表达式的意思是:在0点11分的时候执行2次
在1点到14点的0分时执行2次
在15点的0到40分每30秒执行一次

0/30 11-59 00 01-31 01-12 ? 2014-2014
0/30 * 1-14 01-31 01-12 ? 2014-2014
0/30 0-40 15 01-31 01-12 ? 2014-2014
这三个表达式的意思是:在0点11分之后每30秒执行1次
在1点到14点每30秒执行1次
在15点的0到40分每30秒执行一次

0 49/2 00 01-31 01-12 ? 2014-2014
0 0/2 1-14 01-31 01-12 ? 2014-2014
0 0-21/2 15 01-31 01-12 ? 2014-2014
这三个表达式的意思是:在0点49分开始每2分钟执行一次
在1点到14点每2分钟执行1次
在15点的0到21分每2分钟执行一次

时间: 2024-10-08 17:22:46

Quarzt.NET的Cron表达式理解的相关文章

cron表达式的解释

cron表达式是什么 首先cron是表示计划任务.其次Oracle官网这样解释cron表达式: Cron expressions are used to configure instances of CronTrigger, a subclass of org.quartz.Trigger. A cron expression is a string consisting of six or seven subexpressions (fields) that describe individu

在线Cron表达式解析工具使用说明

在日常Java开发中,常常会用到quartz定时器,而定时器的Cron表达式比较难以理解,尤其是复杂的表达式,较难分析出是否周期频率正确. 这里,云码网推出Cron在线解析工具,方便大家在线生成Cron以及解析表达式的执行情况. 工具地址:http://www.everycoding.com/tools/cron.html 第一步.根据需求勾选执行频率,如图 第二步.点击按钮"运行",执行生成的Cron表达式,如图 通过运行控制,可看到此Cron定时器表达式未来的执行周期情况.

Quartz.Net Cron表达式生成器winform版

最近使用Quartz.net做了几个同步任务,感觉非常好.表达式设置也是非常灵活,但是新入手发现对表达式不熟,每次都要使用在线生成器. 于是写了一个winform版本的生成器练练手,也加强对表达式的理解. 当然很多地方借鉴了网上的在线生成器:http://cron.qqe2.com/,并完善了一些设置. 表达式的含义园子里已经有很多的文章介绍了,在这就不重复解释了,可以参考Quartz.NET总结(二)CronTrigger和Cron表达式. 代码开源地址:点击这里,还有很多不完善的地方,以后慢

Quartz.NET总结(二)CronTrigger和Cron表达式

Quartz.NET的任务调度,主要就是依靠CronTrigger和Cron表达式.Cron是已经在UNIX存在了很长一段时间,它有着强大和可靠的调度能力.CronTrigger类也正是是基于Cron调度能力. CronTrigger使用Cron表达式.它能灵活的设置各种计划任务,比如每周一至周五,早上8点执行某项任务.然而虽然Cron表达式功能强大,灵活,但是也很混乱难懂.所以便在这里介绍Cron表达式相关的配置.希望大家帮助大家快速理解. Cron格式Cron表达式被用来配置CronTrig

Java EE学习——Quartz的Cron表达式

经历过低谷后,还是要好好学习,越失落会越来越落后. 今天写一下Cron表达式的用法,虽然是之前自己写的,也过了挺长一段时间,这次就拿出来作为回顾吧. Cron表达式是Quartz的精髓(个人觉得),比如我们想设定淘宝“秒杀”的那一秒时间,完全可以用下面的方法设置执行时间. Calendar cal = Calendar.getInstance(); //设置将要发生的时间... cal.set(Calendar.DATE, xxx); //.......常规的生成scheduler和job //

quartz.net 时间表达式----- Cron表达式详解

序言 Cron表达式:就是用简单的xxoo符号按照一定的规则,就能把各种时间维度表达的淋漓尽致,无所不在其中,然后在用来做任务调度(定时服务)的quart.net中所认知执行,可想而知这是多么的天衣无缝,说是编码艺术凝集一点不过分. 牛逼吹完啦,我就写几个简单的cron表达式欣赏下: 1.0/20 * * * * ? note:每20秒 2.15 0/2 * * * ? note:每小时从0分钟开始,每2分钟的第15秒,假如当前时间是20:00:00,那么他的维度就在:20:02:5,20:04

Quartz cron 表达式(linux 定时器,java 定时任务,spring task定时任务)

Quartz cron 表达式的格式十分类似于 UNIX cron 格式,但还是有少许明显的区别.区别之一就是 Quartz 的格式向下支持到秒级别的计划,而 UNIX cron 计划仅支持至分钟级.许多我们的触发计划要基于秒级递增的(例如,每45秒),因此这是一个非常好的差异. 在 UNIX cron 里,要执行的作业(或者说命令)是存放在 cron 表达式中的,在第六个域位置上.Quartz 用 cron 表达式存放执行计划.引用了 cron 表达式的 CronTrigger 在计划的时间里

详解定时任务中的 cron 表达式

1.前言 我们经常使用 cron 表达式来定义定时任务的执行策略,今天我们就总结一下 cron 表达式的一些相关知识. 2. cron 表达式的定义 cron 表达式是一个字符串,该字符串由 6 个空格分为 7 个域,每一个域代表一个时间含义. 格式如下: [秒] [分] [时] [日] [月] [周] [年] 通常定义 "年" 的部分可以省略,实际常用的由 前六部分组成 2.1 cron各部定义 关于 cron 的各个域的定义如下表格所示: 域 是否必填 值以及范围 通配符 秒 是

Cron 表达式

cron的表达式被用来配置CronTrigger实例. cron的表达式是字符串,实际上是由七子表达式,描述个别细节的时间表.这些子表达式是分开的空白,代表:  Seconds  Minutes  Hours  Day-of-Month  Month  Day-of-Week  Year (可选字段) 例  "0 0 12 ? * WED" 在每星期三下午12:00 执行, 个别子表达式可以包含范围, 例如,在前面的例子里("WED")可以替换成 "MON