Open
Milestone
MAPS 1.8 - Überarbeitung der Queue, Implementierung eines Logging-Mechanismus
Milestone ID: 4768
In dieser Version wird die Queue grundlegend überarbeitet und dabei ein Logging-Mechanismus eingeführt, der die Fehlersuche und -behebung vereinfacht.
Für die Queue sind u. a. folgende Änderungen vorgesehen:
- Sortierung korrigieren
- Neu hinzugefügte Jobs werden teilweise nicht nachvollziehbar einsortiert
- Benennung der Stati vereinheitlichen und ergänzen
- zurzeit eine historische gewachsene dEnglisch-Mischung
- einen Fehler-Status einführen, wenn ein Job scheitert, evtl. sind noch weitere nötig (s. u.)
- Die Schritte der einzelnen Task feiner auflösen
- z. B. die Validierung in "Transformation", "Auswertung", "Report-Generierung", "Meldungslistentabelle-Generierung", "Aufräumen"
- Die Mechanik des Fortschrittbalkens überarbeiten
- Der Fortschritt wird zurzeit in einer eigenen Datei gepflegt, dies überdenken
- häufigere Aktualisierung des Balkens?
- Die Jobs robuster designen
- an entsprechenden Stellen mit
try
/catch
Mechanismen arbeiten- z. B. fehlenden Dateien überspringen
- ein abgebrochender Jobs soll nicht mehr das System lahmlegen und die Queue abschießen
- an entsprechenden Stellen mit
- Die Anzahl der gleichzeitig laufenden Taks konfigurierbar bzw. einstellbar (über die Oberfläche) machen
- Nice-to-Have
- Pausieren von Task
- Option, laufenden Task zu pausieren in der Queue ergänzen (nur bei XSL-Transformationen?)
- Resumen von Tasks
- Möglichkeit, Tasks (nach Fehlerkorrektur) wieder an der abgebrochenen Stelle zu starten
- Mechanismus, um die einzelnen Schritte eine Tasks manuell zu starten
- z. B. "Auswertung von Lieferung X", "Report-Generierung von Lieferung X", ...
- Admin-Bereich? Am besten bequem über Dropdownauswahl
- Intelligente Abarbeitung von Jobs
- Nur XSL-Transformationen paralell abarbeiten
- Auswertung, Reportgenerierung, Meldungslistengenerierung, Download nur seriell über alle laufenden Taks
- d. h. laufende Jobs werden ggf. zeitweise pausiert
- Erkennung von Uploads (über MORe)?
- Pausieren von Task
Bisher gibt es keinen Logging-Mechanismus in MAPS. Die einzigen relevanten Logs werden von existdb erzeugt (exist.log
und scheduler.log
).
Für den Logging-Mechanismus für die MAPS-App sind u. a. folgenden Änderungen vorgesehen / Konzepte zu erarbeiten:
- Wohin soll das Log geschrieben werden?
- Datenbank
- Einfacher Zugriff über MAPS
- kein Zugriff, wenn exist steht
- Dateisystem
- Zugriff über MAPS schwieriger
- Zugriff über SSH möglich, wenn exist nicht mehr erreichbar ist
- zusätzlicher ausgelagerter Mechanismus, der bei der Installation usw. beachtet werden muss (Rechte...)
- ggf. eine Mischung aus beidem
- Datenbank
- Jeder Task der Queue soll Logeinträge erzeugen
- beim Start
- zur Laufzeit
- beim Abschluss
- Ein Logeintrag soll nach Möglichkeit bei Fehlern den Datenamen der auslösenden Datei enthalten, ggf. verwendete XSL usw.
- Der Log eines Tasks könnte über die Queue (nach Abschluss) zugreifbar sein
- insbesondere wenn es Fehler mit einigen Dateien gab, muss das sichtbar sein