Ich frage mich, ob ich das richtig verstehe.
http://quartznet.sourceforge.net/apidoc/
IStatefulJob-Instanzen für anderen Regeln als normale IJob Instanzen. Der Hauptunterschied besteht darin, dass ihre zugehörige JobDataMap ist nach jeder Ausführung des Jobs neu persistiert Ausführung des Jobs neu persistiert wird und somit der Zustand für die nächste Ausführung. Der andere Unterschied ist, dass zustandsbehaftete Aufträge nicht erlaubt sind gleichzeitig ausgeführt werden dürfen, was bedeutet neue Auslöser, die vor dem Abschluss der Abschluss der Methode IJob.Execute auftreten, werden verzögert.
Bedeutet dies, dass alle Auslöser verzögert werden, bis ein anderer Auslöser ausgeführt wird? Wenn ja, wie kann ich es so machen, dass nur die gleichen Auslöser nicht ausgelöst werden, bis der vorherige Auslöser erledigt ist.
Angenommen, ich habe einen Auslöser A, der jede Minute ausgelöst wird, aber aus irgendeinem Grund ist er langsam und braucht anderthalb Minuten zur Ausführung. Wenn ich einfach einen Plan IJob verwende, wird der nächste Auslöser ausgelöst, und das möchte ich nicht. Ich möchte verhindern, dass Auslöser A erneut ausgelöst wird, bis er fertig ist.
Gleichzeitig habe ich jedoch einen Auslöser B, der ebenfalls jede Minute ausgelöst wird. Er läuft mit normaler Geschwindigkeit und wird jede Minute pünktlich beendet. Ich möchte nicht, dass Auslöser B wegen Auslöser A aufgehalten wird.
Meinem Verständnis nach würde genau das passieren, wenn ich IStatefulJob verwende.