Search the FirstSpirit Knowledge Base
Hallo,
FS 4.2.476.52922
ich habe ein kleines Programm geschrieben welches eine Verbindung zum Server aufbaut und nach Bedarf ein Deployment initiert.
ScheduleEntryControl control = scheduleEntry.execute();
Wenn ich nun versuche über den RunState den aktuellen Status zu überprüfen kommt es immer wieder vor das der RunState auf "RunState.RUNNING" stehen bleibt obwohl ich in der Auftragsverwaltung sehen kann das der Auftrag schon lange vorbei ist:
while(control.getState().getState().equals(RunState.RUNNING)) {
// irgendein Code
}
Alternativ habe ich dann versucht alle TaskResults zu bekommen um diese einzeln zu überprüfen. Leider bekomme ich dann auch immer wieder den Zustand RUNNING zurück:
boolean stillRunning = true;
while (stillRunning) {
stillRunning = false;
for (TaskResult taskResult : control.getState().getTaskResults()) {
if (taskResult.getState().equals(RunState.RUNNING)) {
stillRunning = true;
TimeUnit.SECONDS.sleep(5);
break;
}
}
}
Gehe ich das ganze falsch an oder übersehe ich dabei irgendetwas?
Ich würde auch die History befragen wenn ich den irgendwie an die Ausführungs-ID kommen könnte.
Ich danke euch schon mal im Vorraus für eure Hilfe!
Liebe Grüße
Benjamin
ok. Eine Möglichkeit wäre es mit der Methode "awaitTermination()"
auf das Ende zu warten.
Wie ich nun festgestellt habe sind die ScheduleEntryControle aus der Methode scheduleStorge.getHistory(...) immer richtig.
Hat sich deine Frage damit erledigt?
Eigentlich noch nicht ganz. Ich habe nun einen Workaround gebaut, aber das eigentliche Problem besteht eigentlich immer noch.
Die Frage bleibt ja:
Warum gibt der RunState eines ScheduleEntryControl's ab und zu immer RUNNING zurück obwohl er nachweisbar beendet ist.
Das eigentliche Problem besteht im übrigen auch in der Version 5.0.211
Hallo Benjamin,
kannst du bitte hierzu ein Ticket beim Helpdesk aufmachen.
Gruß
Gerrit
Ich habe es an den Helpdesk weitergeleitet. Wenn ich eine Bugnummer habe werde ich sie hier posten.
Hallo zusammen,
gibt es hierzu schon Neuigkeiten? Denn bei mir tritt der Fehler immer noch auf.