Aktuelle Instanz des ScheduleEntry ermitteln aus dem ein Modul aufgerufen wurde
Author: bIT_sosswald
Publication Date: 7/11/2014 9:30
Hallo Community,
ich habe ein Modul, welches aus einem ScheduleEntry mitteld eines Executables aufgerufen wird. Vor und nach dem Aufruf des Moduls sind noch weitere Tasks in dem besagten ScheduleEntry vorhanden. Nun möchte ich in bestimmten (Fehler-)Fällen die aktuell ausgeführte Instanz des ScheduleEntrys programmatisch aus dem Modul heraus abbrechen, so dass die Tasks, die nach dem Modulaufruf definiert sind, nicht mehr ausgeführt werden.
Natürlich möchte ich, sollte der Schedule mehrfach parallel ausgeführt worden sein, immer nur die Instanz davon abbrechen, in der auch wirklich der Fehler auftrat.
Da der ScheduleEntry nicht programmatisch, sondern entweder manuell oder zeitgesteuert gestartet wird, habe ich nicht von Anfang an den passenden ScheduleEntryControl.
Meine erste Idee war so etwas zu machen:
for (ScheduleEntryControl control : context.getTask().getScheduleEntry().getRunningEntries()) {
if (control.getScheduleEntry().equals(context.getTask().getScheduleEntry())) {
control.stopExecution();
}
}
Leider liefert mir die .equals Abfrage false, auch wenn gerade nur eine Instanz des ScheduleEntrys läuft, die beiden Rückgabewerte also "equals" sein müssen.
Habt ihr einen Tipp, wie ich aus einem laufenden Modul heraus ermitteln kann welche Instanz ich gefahrlos abbrechen kann, ohne ausversehen evtl. andere laufende Instanzen zu beenden?
Das ganze möchte ich mit FS5.1 und FS5.0 machen.
Grüße
Sandro
Tags: executable, fs5.0, fs5.1, modul, schedulecontext, scheduleentries, scheduleentrycontrol, stoppen
-
Author: mbergmann - 7/19/2014 10:52
Hallo Sandro,
Du könntest im Modul eine Property des ScheduleContext setzen - context.setProperty(...). Ein nachgelagertes Skript im Auftrag liest dann diese Property aus und bricht abhängig vom Wert dann nicht den kompletten Auftrag ab, sondern deaktiviert die nachfolgenden Tasks (entfernt quasi den vorderen Haken). Das Ergebnis sollte aber dasselbe sein. Ich bin mir jetzt nicht 100%ig sicher ob sich das Deaktivieren wirklich nur auf die aktuelle Instanz auswirkt, ich meine aber schon.
Viele Grüße
Michael
0
Please sign in to leave a comment.
Comments
1 comment