2013-03-17 9 views
9

Io corro i miei lavori utilizzando al quarzo con un'espressione cron ogni 50 secondi:espressione Cron ogni 50 secondi in quarzo

Cron_Expression = "0/50 * * * * ?" 

quello che succede è che il mio lavoro viene eseguito ai secondi: 50, 60, 50 , 60, ... e non ogni 50 secondi! e non funziona al secondo "0".

Qual è l'espressione cron corretta ogni 50 secondi a partire da 0?

+0

Hai provato */50 invece di 0/50? – NilsH

+0

è lo stesso! , qualche altra idea? – Yosefarr

+0

Dai un'occhiata qui Cron generator generator - Quartz https://www.freeformatter.com/cron-expression-generator-quartz.html –

risposta

9

La sintassi '/' specifica l'incremento durante il periodo e non un intervallo di ripetizione. Ammettiamo una differenza sottile e confusa.

In questo caso c'è un solo incremento disponibile (50 secondi) durante il periodo di 1 minuto. Il primo numero specifica il valore da cui iniziare, in questo caso 0. Specificare '*' prima che '/' sia equivalente a specificare 0. Quindi il lavoro verrà attivato solo al minuto (0 e 60 sono intercambiabili) e a 50 secondi .

Se il periodo può essere diviso per incrementi multipli, ad es. 0/10, si spara per ciascuno in ciascuna di queste ore, ad esempio a 10, 20, 30 ecc.

Se si desidera che un lavoro si attivi a intervalli regolari, è possibile utilizzare un quarzo SimpleTrigger con un valore repeatInterval specificato.