2013-03-17 23 views
9

Biegnę moje zadania wykorzystujące Quartz z wyrażeniem cron co 50 sekund:Cron ekspresja co 50 sekund w Quartz

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

Co się dzieje, że moja praca przebiega w sekund: 50, 60, 50 , 60, ... i nie co 50 sekund! i nie działa przy drugim "0".

Co to jest prawidłowe wyrażenie cron co 50 sekund, począwszy od 0?

+0

Czy wypróbowałeś */50 zamiast 0/50? – NilsH

+0

to jest to samo! , jakikolwiek inny pomysł? – Yosefarr

+0

Zobacz tutaj generator ekspresji Cron - Kwarc https://www.freeformatter.com/cron-expression-generator-quartz.html –

Odpowiedz

9

Składnia "/" określa przyrost w okresie, a nie interwał powtarzania. Wprawdzie subtelna i myląca różnica.

W takim przypadku dostępny jest tylko jeden dostępny przyrost (50 sekund) w ciągu 1 minuty. Pierwsza liczba określa wartość, od której należy zacząć, w tym przypadku 0. Określenie "*" przed "/" jest równoważne określeniu 0. Tak więc zadanie będzie uruchamiane tylko w minutach (0 i 60 są zamienne) i po 50 sekundach .

Jeśli okres można podzielić przez wielokrotne przyrosty, np. 0/10, to zostanie uruchomiony w każdym z tych czasów, np. 10, 20, 30 itd. Sekund.

Jeśli chcesz, aby zadanie uruchamiał się w regularnych odstępach czasu, możesz użyć kwarcu SimpleTrigger z określonym numerem repeatInterval.