Mass-Work-Items basieren darauf, dass

  • eine zu implementierende Query den Arbeitsvorrat bereit stellt,
  • der Arbeitsvorrat nach Oid sortiert bearbeitet wird,
  • der Arbeitsvorrat in Paketen aus der Datenbank geladen wird und
  • und jedes ORM einzeln in einer zu implementierenden Funktion bearbeitet wird.

Darüber hinaus werden folgende Sonderfälle behandelt:

  • Wenn die Anwendung unerwartet neu gestartet wird, wird die Arbeit exakt bei dem ORM fortgesetzt, wo sie unterbrochen wurde.
  • Wenn der Worker die maximale Laufzeit überschreitet, unterbricht er seine Arbeit und plant sich für den Rest neu ein. Dies erfolgt maximal MaxNumberOfRestarts mal.

Die Aktualisierung der Daten für die Fortschrittsanzeige (MaxProgress, CurrentProgress) obliegt der Worker-Implementierung.

Nach jedem ORM wird der Zustand des Workers automatisch gesichert und die UI aktualisiert.