Konfiguration

Erstellen Sie eine Maske und eine Ansicht für die Anwendungsprotokolle (siehe technisches Handbuch).

Erstellen Sie (falls noch nicht vorhanden) eigene Anwendungsaktionen und fügen Sie alle notwendigen Aktionen ein. Sowie eine Aktion zur Anzeige der Ansicht für die Anwendungsprotokolle.

Hintergrundprozess

Erstellen Sie einen eigenen Hintergrundprozess im Ordner “Worker” für die Verarbeitung. Erstellen Sie im ersten Schritt einen eigenen Prozess, ohne die vereinfachten Möglichkeiten für die Massenverarbeitung.

Übertragen Sie die Funktionalität aus dem Igniter in den Worker. Dabei übergeben Sie dem Prozess die TaskExecutionId von OperationOverSelectedRecordsIgniterBase und laden Sie damit die selektierten Datensätze im Worker.

Stellen Sie sicher, das kein Datensatz doppelt verarbeitet wird, wenn beispielsweise der Server abstürzt.

Ausnahmebehandlung

Provozieren Sie eine Ausnahme beim dritten Datensatz beim ersten Start und kontrollieren sie das NLog und die Anwendungsprotokolle.

Warum wurde ein Anwendungsprotokoll geschrieben? Und wie kann man es verhindern?

Wurden alle Datensätze korrekt verarbeitet?

Massenverarbeitung

Erstellen Sie einen zweiten Worker auf Basis von TemporaryRecordMassWorkItem. Implementieren sie dort die notwendige Funktionalität, verzögern Sie den Start und erlauben Sie das der Anwender den Prozess abbrechen kann.

Duplizieren Sie Ihre Aktion, dabei beachten Sie das sie der neuen Aktion eine eigene Id geben und die Namen abändern. Stellen Sie die neue Aktion auf den neuen Worker um.

Anwendungsprotokoll

Erweitern Sie den zweiten Worker um ein Anwendungsprotokoll.

Ausnahmebehandlung

Provozieren Sie eine Ausnahme in BeforeProcessing() beim ersten Start.

Provozieren Sie eine Ausnahme in ProcessSingleOrm() beim zweiten Start und dem dritten Datensatz.

Was steht im Anwendungsprotokoll? Wurden alle Datensätze verarbeitet?

Warum gibt es einen Unterschied zum vorherigen Hintergrundprozess und was müsste man tun, um fehlerhafte Datensätze nochmal zu verarbeiten?

Lösung