Spring timed task parameter configuration detailed

Source: Internet
Author: User

Note: This digest is from the "Quartz cron trigger cron Expression format" http://blog.csdn.net/yefengmeander/article/details/5985064

Thank you very much, author!


Quartz Cron expressions support up to seven domains: second-time time-of-year anniversary (order million not chaos!!!) )

Whether the name must allow value special characters
Seconds is 0-59,-*/
Cent is 0-59,-*/
Time is 0-23,-*/
The day is 1-31,-*? /L W C
Month is 1-12 or JAN-DEC,-*/
Week is 1-7 or SUN-SAT,-*? /L C #
Year no empty or 1970-2099,-*/

The names of the month and week are case insensitive. FRI and FRI are the same.

There are spaces between fields, which is the same as UNIX cron. It is indisputable that the simplest expression that we can write looks like this:

* * * ? * *

This expression fires a deployed job every second (every minute, every hour, every day).

• Understanding special Characters

Like UNIX cron, Quartz cron expressions support the creation of more complex execution plans with special characters. However, Quartz is richer in support of special characters than standard UNIX cron expressions.

* Asterisk

Use an asterisk (*) to indicate that you want to include all valid values on this domain. For example, using an asterisk on a month field means that the trigger is triggered every month.

Examples of expression patterns:

0 * 17 * *?

Meaning: Trigger is fired every minute from 5 o'clock in the afternoon to 5:59 each day. It stops at 5:59 because the value 17 is on the hour field, and at 6 o'clock in the afternoon, the hour becomes 18, and the trigger is no longer heeded until the next day of 5 o'clock in the afternoon.

Use the * character when you want trigger to be fired on all valid values for that domain.

? Question mark

? Can only be used on day and week fields, but cannot be used concurrently on both domains. Can you think? The character is "I don't care what the value is on that field." "This differs from the asterisk, which indicates each value on the field." Is that you do not specify a value for the field.

The reason why a value cannot be specified at the same time on both domains is difficult to interpret or even incomprehensible. Basically, assuming that you specify a value at the same time, the meaning becomes ambiguous: consider if an expression has a value of 11 on the day field and WED is specified on the domain. So is it to trigger only in the 11th of each month, and exactly the day of Wednesday is excited? Or was it fired at number 11th in every Wednesday? The way to remove this ambiguity is that you cannot specify values on both domains at the same time.

Just remember that if you specify a value for one of the two fields, you have to put one on the other word value.

Examples of expression patterns:

0 10,44 14? 3 WEB

Meaning: Every Wednesday 2:10 and 2:44 in March is triggered.

Comma

A comma (,) is used to specify a list of values on a domain. For example, using the value 0,15,30,45 on the second field means that a trigger is triggered every 15 seconds.

Examples of expression patterns:

0 0,15,30,45 * * *?

Meaning: The trigger is triggered once per quarter.

/Slash

The slash (/) is used for the increment of the timesheet. We've just used a comma to indicate a 15-minute increment, but we can also write this 0/15.

Examples of expression patterns:

0/15 0/30 * * *?

Meaning: Trigger trigger every 15 seconds at the hour and the slightest.

-Medium Dash

A medium dash (-) is used to specify a range. For example, 3-8 on the hour field means "3,4,5,6,7 and 8 points." "The value of the domain does not allow a rollback, so a value like 50-10 is not allowed.

Examples of expression patterns:

0 45 3-8? * *

Meaning: 3 points in the morning to 8 points in the morning of 45 ticks trigger trigger.

L Letter

L describes the last value allowed on a domain. It is supported only by the day and week fields. When used on a day field, represents the last day of the month specified on the month field. For example, when JAN is specified on the current month field, L on the Japanese field will cause trigger to be triggered on January 31. If the monthly field is SEP, then L will indicate a trigger on September 30. In other words, the trigger is triggered on the last day of the corresponding month, regardless of the month specified.

Expression 0 0 8 L *? The meaning is to trigger trigger at 8:00 on the last day of each month. The * description on the month field is "every month".

When the L letter is used on the field, the last day of the week is indicated, that is, Saturday (or the number 7). So if you need 11:59 trigger trigger in the last Saturday of the month, can you use such expressions 0 59 23? L

When used on a week field, you can use a number to connect with L to represent the last one weeks of the month X. For example, an expression 0 0 12? * 2L is said to trigger trigger at the last one weeks of each month.

Do not allow range and list values to be associated with L

Although you can use the days of the week (1-7) with L, you are not allowed to use a range value and a list value with L. This can produce unpredictable results.

W Letter

The W character represents weekdays (MON-FRI) and can only be used in the day domain. It is used to specify the most recent weekday from the specified day. Most of the business process is based on the work week, so the W character may be very important. For example, 15W in the daily field means "the most recent weekday of the month 15th." "If the number 15th is Saturday, then trigger will be triggered at 14th (Thursday), because the nearest 15th is Monday, this example will also be 17th (translator Unmi Note: Will not be triggered at 17th, if it is 15W, may be 14th number (15th is Saturday) or 15th ( Number 15th is Sunday) trigger, that is, can only appear in the adjacent day, if the day of the 15th is on weekdays directly on the day of execution. W can only be used in the specified day field as a single day and cannot be a range or list value.

# Number of Wells

The # character can only be used in the field of the week. It is used to specify which day of the week of the month. For example, if you specify the value of the week field as 6#3, it means the third Friday of the month (6= Friday, #3意味着月份中的第三周). Another example 2#1 meaning is the first Monday of the month (2= Monday, #1意味着月份中的第一周). Note that if you specify #5, but there is no 5th week in the month, then the month does not trigger.

Cron-expression Cookbook

The Cron expression Cookbook here is designed to provide scenarios for common execution requirements. Although it is not possible to enumerate all the expressions, the following should provide sufficient examples to meet your business needs.

• Cron Expressions for minutes

Table 5.1. Task scheduling Cron expression usage expressions that include the minute frequency
Trigger 0 * 17 * per minute from 5:00pm to 5:59 pm every day?

0 0/5 23 * per five-minute daily from 11:00am to 11:55 pm *?

Every five minutes from 3:00 to 3:55 pm and 6:00pm to 6:55 pm daily trigger 0 0/5 15,18 * *?

Trigger 0 0-5 5 * * per minute from 9:00am to 5:05 am every day?


• Cron expressions on the day

Table 5.2. Cron expression Usage expression on a task plan based on daily frequency
Daily 0 0 3 * *?
0 0 3 per day (another way) * *
Daily 12:00pm (Noon) 0 0 12 * *?
10:15 AM 0 15 10 * * per day in 2005? 2005

• Cron expressions for week and month

Table 5.3. Cron expression usage expressions for task scheduling based on weekly and/or monthly frequency
In each Monday, two, three and Thursday of 10:15 AM 0 15 10? * Mon-fri
10:15 15th per month is 0 15 10 15 *?
Last day of the month 10:15 AM 0 L *?
10:15 AM 0 15 10 for the last Friday of the month? * 6L
In the 2002, 2003, 2004, and 2005 months of the month of the last Friday 10:15 AM 0 15 10? * 6L 2002-2005
10:15 AM 0 15 10 per month for the third Friday? * 6#3
Every five days from the first day of the month (noon) 0 0 12 1/5 *?
Every November 11 11:11 AM 0 11 11 11 11?
March 2:10 pm and 2:44 PM 0 10,44 14 per Wednesday? 3 WED

Spring timed task parameter configuration detailed

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.