Dokumentation V3.2: Scheduler-Ausnahme, Betriebsdoku und GUI-Bedienanleitung
CLAUDE.md: - Unverrückbare Technikvorgaben: 'keine Dauerlauf-Anwendung' und 'kein interner Scheduler' mit Ausnahme-Hinweis auf GUI-Scheduler annotiert - Modulstruktur: pdf-umbenenner-adapter-in-scheduler ergänzt - Neuer Abschnitt 'Scheduler-Ausnahme (ab V3.2)' mit allen abweichenden Regeln - Aktiver Implementierungsstand: V3.2 als abgeschlossen dokumentiert - Konfigurationsparameter: scheduler.enabled und scheduler.interval.seconds ergänzt - Nicht-Ziele: 'keine interne Scheduler-Logik' mit GUI-Scheduler-Ausnahme annotiert docs/betrieb.md: - 'Umfang der GUI': von drei auf fünf Tabs aktualisiert (Scheduler + Verlauf ergänzt) - Neuer Abschnitt 'Automatischer Scheduler' mit Parametern, Autostart, Sperr- verhalten und Schließ-Verhalten - Optionale Parameter: scheduler.enabled und scheduler.interval.seconds ergänzt - Systemgrenzen: 'Kein interner Scheduler' auf headless-Kontext eingeschränkt docs/gui-bedienanleitung.md: - Abschnitt 1: fünf statt vier Tabs; Tab 3 Scheduler neu; Verlauf zu Tab 4, Prompt zu Tab 5; alle Abschnitt-Querverweise aktualisiert - Abschnitte 14-20 zu 15-21 umnummeriert - Neuer Abschnitt 14 'Tab Scheduler' mit Start/Stop, Statusanzeige, Countdown, letztem Lauf, Autostart-Fehler, Sperrbegründungen und Schließ-Dialog-Hinweis Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+43
-2
@@ -63,7 +63,7 @@ mehr, startet die GUI ohne Fehlermeldung mit dem Willkommenstext.
|
||||
|
||||
### Umfang der GUI
|
||||
|
||||
Die GUI enthält drei Tabs:
|
||||
Die GUI enthält fünf Tabs:
|
||||
|
||||
- **Tab „Konfiguration"** – Editor, Validierungs- und technische Testoberfläche für
|
||||
die `.properties`-Datei (Erreichbarkeit des Providers, Pfade, SQLite-Datei,
|
||||
@@ -75,6 +75,14 @@ Die GUI enthält drei Tabs:
|
||||
ungespeicherte Änderungen im Editor fließen nicht in den Lauf ein. Ein **Soft-Stop**
|
||||
über den Abbrechen-Knopf beendet den Lauf nach Abschluss der gerade bearbeiteten Datei.
|
||||
Während eines laufenden Batches ist Tab 1 gesperrt; ein Hinweis weist darauf hin.
|
||||
- **Tab „Scheduler"** – Optionaler automatischer Scheduler für periodische Verarbeitungsläufe.
|
||||
Kann gestartet, gestoppt und mit einem konfigurierten Intervall betrieben werden. Während
|
||||
der Scheduler aktiv ist, sind Tab 1 „Konfiguration" und der manuelle Lauf gesperrt.
|
||||
Erfordert `scheduler.enabled=true` und ein gültiges `scheduler.interval.seconds` in der
|
||||
gespeicherten Konfiguration.
|
||||
- **Tab „Verlauf"** – Ansicht aller bisher verarbeiteten Dokumente mit Status, Dateinamen
|
||||
und Verarbeitungsdetails direkt aus der SQLite-Datenbank. Ermöglicht Status-Reset und
|
||||
Löschung einzelner Einträge.
|
||||
- **Tab „Prompt"** – Lädt, bearbeitet und speichert die konfigurierte Prompt-Datei direkt
|
||||
aus der Oberfläche. Bearbeitungen erzeugen einen Dirty-State (Asterisk im Tab-Titel).
|
||||
Speichern erfolgt **atomar** (Temp-Datei im selben Verzeichnis + `ATOMIC_MOVE`).
|
||||
@@ -88,6 +96,37 @@ kann weiterhin für automatisierte Läufe genutzt werden. Pro Anwendungsinstanz
|
||||
ein Verarbeitungslauf gleichzeitig zulässig; ein gleichzeitiger externer headless Lauf
|
||||
wird jedoch nicht technisch erkannt oder blockiert.
|
||||
|
||||
### Automatischer Scheduler
|
||||
|
||||
Der GUI-Tab „Scheduler" ermöglicht den Betrieb eines optionalen, periodisch laufenden
|
||||
Schedulers, der automatisch Verarbeitungsläufe anstößt.
|
||||
|
||||
**Konfigurationsparameter:**
|
||||
|
||||
| Parameter | Beschreibung | Standard |
|
||||
|---|---|---|
|
||||
| `scheduler.enabled` | Scheduler im GUI-Modus aktivieren (`true`/`false`); wird im headless Betrieb ignoriert | `false` |
|
||||
| `scheduler.interval.seconds` | Intervall zwischen automatischen Läufen in Sekunden (Integer >= 30; Pflicht wenn `scheduler.enabled=true`); wird im headless Betrieb ignoriert | – |
|
||||
|
||||
Ungültige Werte (kein Integer, < 30 oder leer bei `scheduler.enabled=true`) verhindern den
|
||||
Scheduler-Start und werden im GUI-Tab als Fehler gemeldet.
|
||||
|
||||
**Autostart:** Ist `scheduler.enabled=true` in der gespeicherten Konfiguration, startet der
|
||||
Scheduler automatisch, wenn die Konfiguration beim GUI-Start geladen wird. Der erste
|
||||
Verarbeitungslauf beginnt **unmittelbar** nach dem Scheduler-Start (kein initiales Warten).
|
||||
|
||||
**Headless-Betrieb:** Im headless Betrieb werden `scheduler.enabled` und
|
||||
`scheduler.interval.seconds` vollständig ignoriert. Der Scheduler ist ausschließlich im
|
||||
GUI-Modus verfügbar.
|
||||
|
||||
**Sperrverhalten:** Solange der Scheduler aktiv ist, ist Tab 1 „Konfiguration" gesperrt
|
||||
(Bearbeitungssperre mit Hinweisbanner). Manuelles Starten eines Laufs ist ebenfalls nicht
|
||||
möglich. Nach dem Stoppen des Schedulers werden beide Sperren automatisch aufgehoben.
|
||||
|
||||
**Schließen der Anwendung:** Versucht der Benutzer das Fenster zu schließen, während der
|
||||
Scheduler aktiv ist oder ein Lauf läuft, erscheint ein Informationsdialog. Das Schließen
|
||||
wird blockiert, bis der Scheduler gestoppt und kein Lauf mehr aktiv ist.
|
||||
|
||||
---
|
||||
|
||||
## Voraussetzungen
|
||||
@@ -229,6 +268,8 @@ Nur der **aktive** Provider muss vollständig konfiguriert sein. Der inaktive Pr
|
||||
| `log.directory` | Log-Verzeichnis | `./logs/` |
|
||||
| `log.level` | Log-Level (`DEBUG`, `INFO`, `WARN`, `ERROR`) | `INFO` |
|
||||
| `log.ai.sensitive` | KI-Rohantwort und Reasoning ins Log schreiben (`true`/`false`) | `false` |
|
||||
| `scheduler.enabled` | Scheduler im GUI-Modus aktivieren (`true`/`false`); wird im headless Betrieb ignoriert | `false` |
|
||||
| `scheduler.interval.seconds` | Intervall in Sekunden (Integer >= 30; Pflicht wenn `scheduler.enabled=true`); wird im headless Betrieb ignoriert | – |
|
||||
|
||||
### API-Schlüssel
|
||||
|
||||
@@ -773,7 +814,7 @@ Die Bedienung der GUI ist in [`gui-bedienanleitung.md`](gui-bedienanleitung.md)
|
||||
- Keine eingebaute OCR-Funktion
|
||||
- Kein Web-UI, keine REST-API
|
||||
- Die GUI ermöglicht Konfiguration, Validierung, technische Diagnose und die Ausführung von Verarbeitungsläufen mit integrierter PDF-Vorschau und editierbarem Dateiname
|
||||
- Kein interner Scheduler – der Batch-Betrieb wird extern angestoßen (z. B. Windows Task Scheduler, `--headless`)
|
||||
- Kein interner Scheduler im headless Betrieb – der Batch-Betrieb wird extern angestoßen (z. B. Windows Task Scheduler, `--headless`); im GUI-Modus steht optional ein interner Scheduler zur Verfügung (Tab „Scheduler")
|
||||
- Quelldateien werden nie überschrieben, verschoben oder gelöscht
|
||||
- Die Identifikation erfolgt über SHA-256-Fingerprint des Dateiinhalts, nicht über Dateinamen
|
||||
- Die GUI wird offiziell nur unter Windows unterstützt; der headless Betrieb ist für Windows Server geeignet
|
||||
|
||||
Reference in New Issue
Block a user