Red de conocimiento de abogados - Derecho de sociedades - ¿Por qué Spring Quartz está configurado para no ejecutarse regularmente, pero puede ejecutarse de vez en cuando?

¿Por qué Spring Quartz está configurado para no ejecutarse regularmente, pero puede ejecutarse de vez en cuando?

Expresión cron 0 0 11 * * ? Indica ejecución a las 11:00:00 todos los días. Las siguientes son reglas relacionadas, consulte

CronTrigger

. CronTriggers suele ser más útil que SimpleTrigger si necesita una programación de trabajos de activación recurrentes basados ​​en el concepto de calendario en lugar de los intervalos completamente especificados de SimpleTrigger.

CronTrigger, puede especificar el horario de activación, como "todos los viernes al mediodía", "todos los días laborables a las 9:30" o incluso "cada 5 minutos a las 9:00 y 10:00". Lunes por la mañana, miércoles y viernes."

Aun así, al igual que SimpleTrigger, CronTrigger tiene un startTime que especifica la programación en la que entra en vigor, y una programación específica en la que debe detenerse (opcional) y una hora de finalización.

Expresiones Cron

Las expresiones Cron se utilizan para configurar instancias de CronTrigger. La expresión cron es una cadena, que en realidad se compone de siete subexpresiones que describen detalles individuales de la programación.

Estas subexpresiones están separadas por espacios en blanco y representan:

1. Segundos

2. Minutos

3. -del-mes

5. Mes

6. Día de la semana

7. "0 0 12 ? * WED" se ejecuta todos los miércoles a las 12:00 p. m.

Las subexpresiones individuales pueden incluir rangos; por ejemplo, en el ejemplo anterior ("WED") se puede reemplazar por " MON- VIE", "LUN, MIÉ, VIE" o incluso "LUN-MIÉ, SÁB".

"*" representa el período de tiempo completo.

Cada campo tiene un conjunto de Especificar valores válidos, como

Segundos (segundos): se pueden representar con los números del 0 al 59,

Minutos (minutos): se pueden representar con los números del 0 al 59,

Horas (hora): se puede representar con números del 0 al 23,

Día del mes (día): se puede representar con cualquier valor del 1 al 31, pero se deben tener en cuenta algunas consideraciones especiales. a tener en cuenta Mes

Mes (mes): puede representarse por 0-11 o la cadena "JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV and DIC"

Día de la semana (semanal): se puede representar mediante los números 1-7 (1 = domingo) o la cadena de caracteres "DOM, LU, MAR, MIÉ, JUEVES, VIE y SÁB"

"/": Es una unidad especial, expresada como "cada". Por ejemplo, "0/15" significa ejecución cada 15 minutos, "0" significa comenzar desde "0" minuto, "3/". 20" significa que se ejecutará cada 20 minutos, "3" significa que se ejecutará a partir del 3er minuto

"?": indica un determinado día del mes, o un determinado día del mes. semana

"L": se utiliza para cada mes o semana, expresado como el último día de cada mes, o el último día de la semana de cada mes. Por ejemplo, "6L" significa "el último viernes". de cada mes"

" W": expresado como el último día hábil, por ejemplo, "15W" se coloca en el campo del día del mes y se expresa como "el día hábil más cercano al 15 de este mes"

""#" : se utiliza para especificar "el" enésimo día hábil de cada mes. Por ejemplo, si el contenido en el campo del día de la semana es "6#3" o. "VIE#3", significa "el tercer día de cada mes". Viernes"

1) El formato de la expresión Cron: segundos, minutos, horas, días, meses y aniversario (opcional).

Valores permitidos para nombres de campos Caracteres especiales permitidos

Segundos 0-59, - * /

Minutos 0-59, - * /

Horas 0-23, - * /

Días 1-31, - * ? / L W C

Meses 1-12 o ENERO-DICIEMBRE, - * /

Día de la semana 1-7 o DOM-SAT, - * ? / L C #

Año (campo opcional) vacío, 1970-2099, - * /

Carácter " ?": indica un valor incierto

"," carácter: especifica varios valores

Carácter "-": especifica un rango de valores

" Carácter /": especifica el incremento de un valor. n/m significa comenzar desde n, aumentando en m cada vez

El carácter "L": se usa en día para representar el último día del mes y en semana para representar la última semana del mes X

Carácter "W": especifica el día laborable más cercano (de lunes a viernes) a la fecha indicada.

Carácter "#": indica la semana X del mes. 6#3 significa el tercer viernes del mes

2) Ejemplo de expresión cron:

Ejecutado cada 5 segundos: */5 * * * * ?

Ejecutar cada 1 minuto: 0 */1 * * * ?

Ejecutar una vez cada día a las 23:00: 0 0 23 * * ?

Ejecutar todos los días a la 1 am Una vez: 0 0 1 * * ?

Una vez al mes a la 1 de la madrugada del día 1: 0 0 1 1 * ?

Una vez al mes a las 23:00 del último día del mes : 0 0 23 L * ?

Ejecutar una vez cada domingo a la 1 am: 0 0 1 ? * L

Ejecutar una vez a los 26 minutos, 29 minutos y 33 minutos: 0 26 , 29, 33 * * * ?

Ejecutado una vez al día a las 0:00, 13:00, 18:00 y 21:00: 0 0 0,13,18,21 * * ?