feat(PROJ-56): Last-Entzerrung für OCR und IMAP-Sync

OCR-Worker pausieren optional in konfigurierbarem Zeitfenster
(paused_hours), Jobs bleiben pending statt verworfen zu werden.
IMAP-Scheduler verteilt Sync-Starts via deterministischem
Pro-Account-Jitter, um Lastspitzen bei vielen Postfächern mit
gleichem Intervall zu vermeiden. Beides per Config opt-out,
Default-Verhalten unverändert. Build + Smoke-Test auf 132 verifiziert.
This commit is contained in:
sysops
2026-06-22 14:21:09 +02:00
parent a55faf74b1
commit 4dbf27cc1d
7 changed files with 261 additions and 12 deletions
+16
View File
@@ -54,6 +54,22 @@ imap_server:
enabled: false
bind: "0.0.0.0:1143"
# PROJ-56: OCR-Last-Entzerrung (optional).
# paused_hours definiert ein lokales Zeitfenster [start, end), in dem der
# OCR-Worker NICHT verarbeitet (Aufträge bleiben als pending erhalten).
# Wrap-around über Mitternacht wird unterstützt, z.B. [22, 6] = Pause 22:0006:00.
# Ohne Sektion / ohne paused_hours: altes Verhalten (immer aktiv).
# ocr:
# paused_hours: [8, 18] # OCR pausiert während der Geschäftszeiten
# PROJ-56: IMAP-Sync-Jitter (optional).
# jitter_seconds verteilt den tatsächlichen Sync-Start jedes Accounts
# deterministisch (abgeleitet aus Account-ID) über dieses Fenster, damit nicht
# alle Postfächer auf derselben Minutengrenze pollen.
# Weglassen der Sektion = Default 240s (4 Min). jitter_seconds: 0 = deaktiviert.
# imap_scheduler:
# jitter_seconds: 240
audit:
log_path: /var/archivmail/audit.log
retention_days: 365