Frage

Ich implementiere derzeit quartz.net in einer einfachen Anwendung, die jeden (zum Beispiel) 5 Sekunden einen Code ausführen sollte. Erst jetzt dauert der Code manchmal mehr als 5 Sekunden.

Zuerst hatte ich das Problem, dass der Code ausgeführt wurde, während der gleiche Code noch ausgeführt wurde. Ich habe dies mit der istatefulJob -Schnittstelle anstelle der Ijob -Schnittstelle behoben.

Aber was ich wirklich erreichen möchte, ist, dass mein Job 5 Sekunden nach Abschluss des Jobs ausgeführt wird, nicht 5 Sekunden nach meinem vorherigen Job.

Ich könnte das Ereignis, das ausgelöst wird, wenn mein Zuhörer "hört", dass der Job bereit ist, und den Job neu zu platzieren, aber ich habe mich gefragt, ob es dafür keine Standardfunktionalität gibt.

War es hilfreich?

Lösung

Derzeit gibt es keine Standardmethode, um dies zu erreichen, da Quartz.net die Idee spielt, eine vordefinierte (vorbereitete) Feuerzeit zu haben und für den richtigen Zeitpunkt für den richtigen Zeitpunkt zu befragen.

Die Art und Weise, wie Sie beschrieben haben, wäre der einfachste Weg. Entweder Zeitplan von der Aufgabe in der nächsten Ausführung oder vom Hörer.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top