PG-Verlag Inventar-Synchronisation & Anomalie-Gates
Um den Onlineshop elbi.de stets mit den tatsächlichen Lagerbeständen des PG-Verlags zu synchronisieren, läuft ein automatisierter Cron-Job.
Architektur & Ablauf
sequenceDiagram
participant Cron as GitHub Actions (03:00 UTC)
participant Script as sync-pg-inventory.py
participant Portal as PG-Verlag Portal
participant Gates as 6 Anomalie-Gates
participant D1 as Cloudflare D1 (elbi-store-eu)
Cron->>Script: Trigger sync job
Script->>Portal: Authenticate & fetch HTML
Portal-->>Script: Raw HTML Table (50 Items)
Script->>Gates: Validate data integrity
alt Validation PASS
Gates-->>Script: Data OK (47 matched)
Script->>D1: Update stock levels
Script->>D1: Update products.json
else Anomaly Detected
Gates-->>Script: ABORT (Zero Stock / Drop > 50%)
Script-->>Cron: Fail-safe exit (DB unberührt)
end
Die 6 Fail-Safe Validierungs-Gates
- HTML-Struktur-Check: Prüft Tabelle und Portal-Kennung.
- Mindestartikelanzahl: Mindestens 40 Artikel müssen extrahiert werden (erwartet: 50).
- Anker-SKU-Check: Kernartikel (
H10,H12,H2,H3,H4,H5,S88) müssen existieren. - Katalog-Trefferquote: Mindestens 90% der Shop-Artikel müssen eindeutig gematcht werden.
- Zero-Stock-Blackout-Schutz: Meldet das Portal >20% der Artikel plötzlich als 0, bricht der Sync ab.
- Massiver Bestandsabfall-Schutz: Fällt der Gesamtbestand über Nacht um >50%, wird das Schreiben verweigert.