`
txidol
  • 浏览: 54792 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

【Cron Expressions】Quartz Scheduler 2.1.x 英文节选

 
阅读更多

Cron Expressions

Cron-Expressions are used to configure instances ofCronTrigger. Cron-Expressions are strings that are actually made up of sevensub-expressions, that describe individual details of the schedule. These sub-expressionare separated with white-space, and represent:

1.Seconds

2.Minutes

3.Hours

4.Day-of-Month

5.Month

6.Day-of-Week

7.Year (optional field)

Anexample of a complete cron-expression is the string "0 0 12 ? * WED"- which means"every Wednesday at 12:00:00 pm".

Individualsub-expressions can contain ranges and/or lists. For example, the day of weekfield in the previous (which reads "WED") example could be replacedwith "MON-FRI","MON,WED,FRI", or even"MON-WED,SAT".

Wild-cards(the '' character) can beused to say "every" possible value of this field. Therefore the '' character in the"Month" field of the previous example simply means "everymonth". A '*' in the Day-Of-Week field would therefore obviously mean"every day of the week".

Allof the fields have a set of valid values that can be specified. These valuesshould be fairly obvious – such as the numbers 0 to 59 for seconds and minutes,and the values 0 to 23 for hours. Day-of-Month can be any value 1-31, but youneed to be careful about how many days are in a given month! Months can bespecified as values between 0 and 11, or by using the strings JAN, FEB, MAR,APR, MAY, JUN, JUL, AUG, SEP, OCT,NOV and DEC. Days-of-Week can be specified asvalues between 1 and 7 (1 = Sunday) or by using the strings SUN, MON, TUE, WED,THU, FRI and SAT.

The'/' character can be used to specify increments to values. For example, if youput '0/15' in the Minutes field, it means 'every 15th minute of the hour,starting at minute zero'. If you used '3/20' in the Minutes field, it wouldmean 'every 20th minute of the hour, starting at minute three' - or in otherwords it is the same as specifying '3,23,43' in the Minutes field. Note thesubtlety that "/35" does *notmean "every 35 minutes" – it mean"every 35th minute of the hour, starting at minute zero" - or inother words the same as specifying '0,35'.

The'?' character is allowed for the day-of-month and day-of-week fields. It isused to specify "no specific value". This is useful when you need tospecify something in one of the two fields, but not the other. See the examplesbelow (and CronTrigger JavaDoc) for clarification.

The'L' character is allowed for the day-of-month and day-of-week fields. Thischaracter is short-hand for "last", but it has different meaning ineach of the two fields. For example, the value "L" in theday-of-month field means "the last day of the month" - day 31 forJanuary, day 28 for February on non-leap years. If used in the day-of-weekfield by itself, it simply means "7" or "SAT". But if usedin the day-of-week field after another value, it means "the last xxx dayof the month" - for example "6L" or "FRIL" both mean"the last friday of the month". You can also specify an offset fromthe last day of the month, such as "L-3" which

wouldmean the third-to-last day of the calendar month. When using the 'L' option, it is importantnot to specify lists, or ranges of values, as you'll get confusing/unexpectedresults.

The'W' is used to specify the weekday (Monday-Friday) nearest the given day. As anexample, if you were to specify "15W" as the value for theday-of-month field, the meaning is: "the nearest weekday to the 15th ofthe month".

The'#' is used to specify "the nth" XXX weekday of the month. Forexample, the value of "6#3" or "FRI#3" in the day-of-weekfield means "the third Friday of the month".

Hereare a few more examples of expressions and their meanings - you can find evenmore in the JavaDoc for org.quartz.CronExpression

Example Cron Expressions

CronTriggerExample 1 - an expression to create a trigger that simply fires every 5 minutes

"0 0/5 * * * ?"

CronTriggerExample 2 - an expression to create a trigger that fires every 5 minutes, at 10seconds after the minute (i.e. 10:00:10 am, 10:05:10 am, etc.).

"10 0/5 * * * ?"

CronTriggerExample 3 - an expression to create a trigger that fires at 10:30, 11:30,12:30, and 13:30, on every Wednesday and Friday.

"0 30 10-13 ? * WED,FRI"

CronTriggerExample 4 - an expression to create a trigger that fires every half hourbetween the hours of 8 am and 10 am on the 5th and 20th of every month. Notethat the trigger will NOT fire at 10:00 am, just at 8:00, 8:30, 9:00 and 9:30

"0 0/30 8-9 5,20 * ?"

Notethat some scheduling requirements are too complicated to express with a singletrigger - such as "every 5minutes between 9:00 am and 10:00 am, and every20 minutes between 1:00 pm and 10:00 pm". The solution in this scenario isto simply create two triggers, and register both of them to run the same job.

分享到:
评论

相关推荐

    quartz2.1.x帮助手册

    最后,Quartz 2.1.x帮助手册还会详细介绍如何配置Quartz,包括在XML、代码或Spring框架中设置Scheduler实例,以及如何集成到现有的应用程序中。它还将提供示例代码和最佳实践,帮助开发者快速上手并充分利用Quartz的...

    cocoon-cron-2.1.5.1.jar

    jar包,官方版本,自测可用

    vnstat-2.1.tar.gz

    6. **定时任务**:用户可以配置cron job定期运行vnstat来收集和存储流量数据。 7. **易于配置**:vnstat 的配置文件简单易懂,允许用户根据自己的需求定制监控参数。 在vnstat-2.1.tar.gz压缩包内,通常会包含以下...

    Getting_Started_with_Quartz_Scheduler.pdf Version 2.2.1

    - **灵活的调度方式**:Quartz Scheduler支持多种调度策略,包括简单的重复执行、基于日历的周期性执行以及复杂的Cron表达式。 - **持久化支持**:Quartz Scheduler可以通过数据库来保存作业状态和调度信息,即使在...

    Quartz.Net3.0.X代码

    在Quartz.Net3.0.X中,可以使用Scheduler接口来管理作业和触发器。Scheduler负责安排、启动、暂停和恢复任务。通过IScheduler接口提供的方法,开发者可以方便地将新的作业和触发器加入调度器,或者修改已有的调度。 ...

    对于Quartz.net 3.0.7.0(目前最高版本)的使用:能过配置文件实现工作调整

    在描述中提到的问题是关于如何在3.x版本中通过`quartz_jobs.xml`配置文件实现作业调度,这在许多教程中可能较少被提及,因为早期版本的Quartz.NET更倾向于使用XML配置,而新版本则倾向于使用代码配置或者混合方式。...

    vixie-cron-3.0.1-39.i386

    vixie-cron-3.0.1-39.i386、crontabs-1.11-2.20101115git.fc15.noarch、crontabs-1.11-17.20150630git.fc29.noarch

    Spring4.X+Quartz2.X

    Spring4.X与Quartz2.X是两个在企业级Java应用中广泛使用的开源框架。Spring是一个全面的、模块化的应用开发框架,它简化了Java EE应用的开发,提供了强大的依赖注入、AOP(面向切面编程)以及丰富的数据访问支持。而...

    quartz-1.8.3.jar

    Quartz 是一个开源的工作调度框架,它允许程序员在 Java 应用程序中安排任务执行。这个 "quartz-1.8.3.jar" 文件是 Quartz 框架的一个特定版本,版本号为 1.8.3。在这个版本中,Quartz 提供了对计划任务管理和执行的...

    基于PHP的XGCMS开源php采集系统v2.1.01美女版源码.zip

    【标题】"基于PHP的XGCMS开源php采集系统v2.1.01美女版源码.zip" 提供的是一个使用PHP语言开发的开源内容管理系统(CMS),名为XGCMS,版本为2.1.01,专门针对美女图片或内容的采集和管理。这个系统允许用户自动抓取...

    quartz-2.2.0.jar.zip

    在使用quartz-2.2.0.jar时,开发人员需要将其添加到项目的类路径中,然后通过调用Quartz API创建Scheduler实例,定义作业和触发器,并启动调度器。例如,以下代码创建了一个简单的作业: ```java import org.quartz...

    spring3-quartz1.x

    在Spring3中整合Quartz1.8.6,可以方便地管理并执行定时任务,但随着Spring框架的升级,如升级到Spring4,可能需要与更新版本的Quartz(如2.x)进行集成。 1. **Spring3的IoC容器与Quartz的结合** Spring3的...

    quartz-2.2.1.jar

    Quartz是Java平台上的一个开源任务调度框架,用于在应用程序中安排和执行周期性任务。在版本2.2.1中,它提供了丰富的功能和稳定性改进。本文将深入探讨Quartz的核心概念、主要功能和使用场景,以及如何利用quartz-...

    yum-cron-3.4.3-168.el7.centos.noarch.rpm

    离线安装yun所需

    vixie-cron-4.1-81.el5.x86_64.rpm

    centos6.5安装完lnmp1.1后,自动将影响mysql重新安装的依赖包程序crontab,删除了,而6.5里没找到这个RPM包,校园服务器没联网,所以需要重新安装这个离线包。

    quartz-1.8.6.jar

    3. **Scheduler(调度器)**:Scheduler是Quartz的核心,它负责管理和执行所有的Job和Trigger。你可以通过Scheduler实例来安排新的Job,调整或删除已存在的Trigger。 4. **CalendarIntervalTrigger(日历间隔触发器...

    quartz-2.1.5.tar.gz

    2. **灵活的调度策略**:Quartz支持多种调度策略,如SimpleTrigger(简单触发器)、CronTrigger(基于Cron表达式的时间触发器)和CalendarIntervalTrigger(日历间隔触发器)。这使得你可以根据实际需求设置复杂的...

    quartz-3.0.3.1_quartes_源码.zip

    - **org.quartz.impl**:包含 Quartz 的实现类,如 `org.quartz.impl.StdSchedulerFactory` 用于创建 Scheduler 实例,`org.quartz.impl.jdbcjobstore` 包含了数据库存储相关的实现。 - **org.quartz.triggers**:...

    quartz.jar包下载

    Quartz的核心是基于Cron表达式的,它允许你以类似于Unix cron服务的方式安排任务。 在Java开发中,使用Quartz.jar的主要优点包括: 1. **灵活的调度**:Quartz提供了非常灵活的任务调度能力。你可以定义任务执行的...

    Quartz Scheduler详解

    **Quartz Scheduler 2.1.x的特性变化:** - API更改:Quartz 2.x版本做了很多重要的API更改,包括将作业和触发器类移到org.quartz.job包下,将触发器接口移到org.quartz.triggers包下。 - 新特性:Quartz 2.1.x...

Global site tag (gtag.js) - Google Analytics