2017-08-21 19 views
3

Ich bin neu in Frühling. Ich versuche, einen Cron-Job jede Stunde auszuführen, und ich verwende den Ausdruck dafür. Wann beginnt der Job? Sagen wir, wenn ich die Anwendung um 10:03 Uhr bereitgestellt habe. Wird der Cron-Job in der nächsten Stunde beginnen, d. H. Um 11:00 Uhr oder beginnt er um 10:03 Uhr zuerst und dann von den nächsten aufeinanderfolgenden Stunden wie 11:00, 12:00 Uhr usw.?Wann wird der Spring Cron Job zum ersten Mal ausgeführt?

Eigentlich habe ich meine Anwendung gestern eingesetzt und ich sehe nicht den Cron-Job läuft. Ich versuche herauszufinden, warum es nicht läuft. In der Zwischenzeit möchte ich nur mich selbst klären.

Ich habe versucht, die Dokumentation zu folgen, aber ich glaube, dass sie dies in der Dokumentation nicht erwähnt: https://docs.spring.io/spring/docs/current/spring-framework-reference/html/scheduling.html

+0

Ich würde erwarten, dass 60 Minuten vom App-Start, aber ich bin mir nicht sicher, ob das garantiert ist. Wenn Sie möchten, dass es zu jeder vollen Stunde angezeigt wird, ändern Sie das Muster. Du kannst die App dazu bringen, dir zu sagen, wann sie als nächstes ausgelöst wird, z. beim Start, wenn das Muster über die Konfiguration verfügbar ist; siehe https://StackOverflow.com/a/33504624/3001761. Wenn es überhaupt nicht ausgelöst wird, haben Sie '@ EnableScheduling' in der App-Konfigurationsklasse? – jonrsharpe

+0

Es setzt voraus, dass Sie wissen, wie [cron ist konfiguriert] (https://linux.die.net/man/5/contab). – OrangeDog

Antwort

2

Es befindet sich auf jede Stunde ausgeführt wird, Minute 0 (wie 60), die zweite 0 (hh: 00:00). So "cron="0 0 * * * ?", wird auch tun.

Die / zwischen Werten definiert einen Bereich, so "cron="0 30/45 * * * ?" wird ausgeführt, wenn Minute 30 und dann 15-mal, bis Minute vergeht 45.

Wenn kein Cron-Job überhaupt ausgeführt wird, scheint es, Scheduling nicht gestartet wird bei alle. Hast du die @EnableScheduling Annotation in deiner Config gesetzt?

Um die Verfügbarkeit zu testen, setzen Sie sie auf cron = "* * * * * ?" (jede Sekunde).

+0

Danke für die Erklärung @Stefan. Ja, es gibt ein Konfigurationsproblem für die Cron-Aufgabe und ich habe es behoben und sieht aus, als wäre alles in Ordnung :) – user3750720

Verwandte Themen