Quartz Cron expression (format of the time)

Source: Internet
Author: User
Tags valid

The format of the Quartz cron expression is very similar to that of the UNIX cron format, but there is still a little obvious difference. One of the differences is that the Quartz format supports scheduling down to the second level, while the UNIX cron program only supports up to minute levels. Many of our trigger plans are based on a second-level increment (for example, every 45 seconds), so this is a very good difference.

In UNIX Cron, the job (or command) to be executed is stored in a cron expression, at the sixth domain location. Quartz uses cron expressions to store execution plans. A crontrigger that references a cron expression is associated with the job at the scheduled time.

Another difference from the UNIX cron expression is the number of domains that are supported in an expression. UNIX gives five domains (minutes, hours, days, months, and weeks), and Quartz provides seven domains. Table 5.1 lists the seven domains supported by the Quartz cron expression.

Table 5.1. Quartz Cron expressions support to seven domains
Name Whether you must Allowed values Special characters
Seconds Is 0-59 , - * /
Score of Is 0-59 , - * /
When Is 0-23 , - * /
Day Is 1-31 , - * ? /L W C
Month Is 1-12 or Jan-dec , - * /
Week Is 1-7 or Sun-sat , - * ? /L C #
Years Whether 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 it is to be trigger only in the 11th of each month, and is exactly the day of Wednesday was excited. or the 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.

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.