Cron-Ausdruck, der alle 50 Sekunden in Quarz
Ich bin mit meinen Jobs unter Verwendung von Quarz mit einem cron-Ausdruck ein, alle 50 Sekunden:
Cron_Expression = "0/50 * * * * ?"
Was passiert, ist, dass mein job läuft in den Sekunden: 50, 60, 50, 60,... und nicht alle 50 Sekunden! und nicht an der zweiten "0".
Was ist die richtige cron-Ausdruck ein, alle 50 Sekunden, beginnend bei 0?
- Haben Sie versucht, */50 statt 0/50?
- es ist das gleiche! jede andere Idee?
- Werfen Sie einen Blick hier Cron-Ausdrucks-generator - Quarz freeformatter.com/cron-expression-generator-quartz.html
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dem '/' die syntax gibt die Schrittweite in der Zeit und nicht ein Wiederholungsintervall. Zugegeben, eine subtile und verwirrende Unterschied.
In diesem Fall gibt es nur eine verfügbare Inkrement (50 Sekunden), während die 1-Minuten-Zeitraum. Die erste Zahl gibt den Wert an, mit zu beginnen, in diesem Fall 0. Die Angabe von '*' vor dem '/' ist äquivalent zu 0. Also der Auftrag wird nur ausgelöst, auf die minute (0 und 60 sind austauschbar) und bei 50 Sekunden.
Wenn der Zeitraum kann aufgeteilt werden, die von mehreren Schritten, z.B. 0/10, dann wird es Feuer für jeden in diesen Zeiten, z.B. 10, 20, 30 usw Sekunden.
Wenn Sie möchten, dass eine Aufgabe auslösen, die in regelmäßigen Abständen können Sie dann einen Quarz
SimpleTrigger
mit einemrepeatInterval
angegeben.