2012-02-10 21 views
6

Tengo la siguiente expresión cron.¿Qué significa debajo de la expresión cron, significa?

"0 0 0 ? * SUN" 

¿Cuándo exactamente se ejecuta esto? la medianoche del domingo del sábado?

Gracias!

+0

+1: Parece simple, pero parece que utiliza un comportamiento indefinido. –

+0

http://dev6.axeda.com/help/en/cron_expression_fields.htm –

+0

¿por qué la etiqueta java? ¿por qué -1? – wuppi

Respuesta

3

Esto no es realmente una expresión de cron. Es una expresión de horario de cuarzo.

http://quartz-scheduler.org/documentation/quartz-2.1.x/tutorials/crontrigger

El 0 0 0 significa la medianoche (segundos, minutos, horas)

El ? significa que depende de otros campos.

El * significa todos los meses.

El SUN significa el domingo.

+0

Habla de Quartz Cron Trigger, que es ligeramente diferente de las expresiones de Cron: Ver este ejemplo de quartz doc: 0 15 10? * MON-FRI \t Incendio a las 10:15 am todos los lunes, martes, miércoles, jueves y viernes – Grooveek

22

Ver las tutorial

* * * * * * (year optional) 
┬ ┬ ┬ ┬ ┬ ┬ 
│ │ │ │ │ │ 
│ │ │ │ │ │ 
│ │ │ │ │ └───── day of week (0 - 7) (0 or 7 is Sun, or use names) 
│ │ │ │ └────────── month (1 - 12) 
│ │ │ └─────────────── day of month (1 - 31) 
│ │ └──────────────────── hour (0 - 23) 
│ └───────────────────────── min (0 - 59) 
└─────────────────────────  seconds 

comodines (el carácter *) se puede utilizar para decir "todos" posible valor de este campo. Por lo tanto, el carácter * en el campo "Mes" del ejemplo anterior simplemente significa "todos los meses". Un '*' en el campo Día de la semana significará obviamente "todos los días de la semana".

El '?' el carácter está permitido para los campos del día del mes y del día de la semana. Se usa para especificar "ningún valor específico". Esto es útil cuando necesita especificar algo en uno de los dos campos, pero no en el otro. Vea los ejemplos a continuación (y CronTrigger JavaDoc) para una aclaración.

por lo que significa todos los domingos a la medianoche

+0

Está basado en [Quartz Scheduler] (http://www.quartz-scheduler.org/documentation/quartz-1.x/tutorials)/crontrigger). Tiene una expresión cron con segundos, no como la expresión bas cron – Grooveek

1

El disparador se disparará a las 00:00:00 AM todos los domingos (mañana). 0 es el comienzo de un día, no el final. Por lo tanto, se disparará el próximo segundo a 23:59:59 el sábado