- Implementiert detailliertes Error/Critical-Logging mit exc_info=True in allen DB-Operationen.
- Stellt sicher, dass conn.rollback() bei jedem Fehler aufgerufen wird, um Datenkorruption zu verhindern.
- Erzwingt PRAGMA journal_mode=DELETE, synchronous=NORMAL und mmap_size=0 für Synology-Kompatibilität.
- Dies sollte die Ursache der wiederkehrenden Job-Loops durch Datenbank-Schreibfehler aufdecken.
- Entfernt Abhängigkeit von Umgebungsvariablen für DB-Pfade in config.py (Explorer) und queue_manager.py (Connector).
- Setzt die Pfade fest auf /data/companies_v3_fixed_2.db und /data/connector_queue.db.
- Dies stellt sicher, dass die Anwendungen zwingend auf die korrekt gemounteten Volumes zugreifen.
- Verschiebt alle Datenbank-Mounts im Container nach /data/.
- Verhindert, dass der /app Code-Mount die Datenbankdateien überschreibt oder blockiert.
- Betrifft alle Dienste mit persistenter Datenbank.
- Synchronisiert die Pfade in config.py (Explorer) und queue_manager.py (Connector).
- Aktiviert den SQLite WAL-Modus für echtes Concurrent Reading/Writing.
- Optimiert get_next_job, um unnötige EXCLUSIVE-Locks zu vermeiden.
- Dies stellt sicher, dass Jobs nach der Verarbeitung korrekt als COMPLETED markiert werden und der Worker nicht in einer Wiederholungsschleife gefangen bleibt.
- Erweitert die JobQueue um die Methode mark_as_deleted.
- Passt den Worker an, um bei ContactNotFoundException (404) den Status DELETED zu vergeben.
- Verbessert das Logging für den Wackler-Filter.
- Aktualisiert das Dashboard-Styling für den neuen DELETED-Status.
✦ In dieser Sitzung haben wir den End-to-End-Test der SuperOffice-Schnittstelle erfolgreich von der automatisierten Simulation bis zum produktiven Live-Lauf
mit Echtdaten abgeschlossen.