8. Juli 2014 10:21
Hallo,
ich möchte gerne mehrere Codeunits in die Aufgabenwarteschlange einstellen, die jede Nacht nacheinander (seriell) abgearbeitet werden sollen.
Dazu habe ich bereits eine Aufgabenwarteschlange (Kategorie "NACHT") erstellt und die CU's als Aufgabenwarteschlangenposten (Kategorie "NACHT") eingestellt.
Folgende Voraussetzungen für die Ausführung der Jobs sollen gelten:
- Jobs sind in einer genau festgelegten Reihenfolge abzuarbeiten
- Nachfolge-Job darf nur ausgeführt werden, wenn der vorherige Job ohne Fehler durchgelaufen ist.
Mit der vorhandenen Möglichkeiten der Aufgabenwarteschlange bekomme ich das nicht hin.
Ich könnte zwar z.B. die Priorität nutzen, um die Ausführungsreihenfolge zu beeinflussen - wenn aber z.B. durch Änderung des Eintrag ein neue Startzeit generiert wird, geht diese vor und die Priorität greift nicht mehr (das ist mir zu unsicher). Ein Abbruch von Folge-Jobs bei Fehler im Vorgänger scheint auch nicht einstellbar zu sein. Man könnte die Jobs zwar theoretisch auch in einer CU zusammenfassen, aber das möchte ich auf Grund der Komplexität und einer evtl. späteren Fehlersuche vermeiden.
Ich hätte jetzt folgenden Lösungsansatz und würde gerne Eure Meinung dazu hören:
Die Jobs (Kategorie "NACHT") werden alle mit Status "Warten" eingestellt. Vorweg wird nur eine Art "Startjob" mit dem Status "Bereit" hinzugefügt.
Diese CU "Startjob" ändert den ersten auszuführenden Job von Status "Warten" auf Status "Bereit". Das selbe wird bei allen weiteren CU's am Ende für den Folgejob durchgeführt (hierzu würde es dann also nur kommen, wenn der Job fehlerfrei durchlaufen wurde) und gleichzeitig wird der durchgelaufene Job von "Bereit" wieder auf "Waren" gesetzt.
Was haltet Ihr davon - oder habe Ihr eine bessere Lösung?
Und noch eine Frage: Könnte ich Probleme bekommen, wenn ich die Status-Änderungen ohne Neustart der Posten oder der Warteschlange durchführe?
Vielen Dank für Eure Hilfe!
Gruß
Ralf
Zuletzt geändert von neckit am 8. Juli 2014 12:09, insgesamt 1-mal geändert.