Die tägliche Prüfung, die niemand mehr machen muss
Jeden Morgen das Insolvenzregister öffnen und eine Kundenliste abgleichen. Heute macht das ein Dienst, der sich nur meldet, wenn wirklich ein Name auftaucht.
0
manuelle Prüfungen pro Tag
vorher: jeden Morgen im Register
Vorher
jeden Morgen manuell
Nachher
täglich automatisch
Das Problem
Jemand musste jeden Morgen das deutsche Insolvenzregister öffnen und eine Liste von Kunden durchgehen. Wird ein Eintrag übersehen, liefert das Unternehmen Ware an einen Kunden, der nicht mehr zahlen kann. Das ist keine anspruchsvolle Arbeit, aber sie darf nie ausfallen.
Was ich gebaut habe
Ein Dienst, der das amtliche Register täglich abfragt und mit der Beobachtungsliste vergleicht. Das Register wehrt sich gegen automatisierten Zugriff: jede Anfrage braucht ein frisches Sitzungsmerkmal, und die Ergebnistabelle lässt sich nur über die Position der Spalten auslesen, nicht über Bezeichnungen. Beides ist im Abruf sauber abgebildet.
Wie es im Einzelnen läuft
Der Abruf holt sich zuerst die Seite, liest das Sitzungsmerkmal aus und schickt erst dann die eigentliche Suche. Ohne diesen Zwischenschritt antwortet das Register mit einem Fehler, der wie ein leeres Ergebnis aussieht. Genau dieser Unterschied ist wichtig: ein leeres Ergebnis und ein fehlgeschlagener Abruf dürfen nie gleich behandelt werden, sonst meldet das System jahrelang Ruhe, während es in Wahrheit nichts mehr sieht.
Die Ergebnistabelle hat keine verlässlichen Bezeichnungen, deshalb wird sie über feste Spaltenpositionen gelesen. Ändert sich der Aufbau, schlägt der Abruf hörbar fehl statt still falsche Daten zu liefern.
Der Zielserver hat keine Python-Umgebung, deshalb läuft alles in einem Container mit eigenem Zeitplan.
Das Ergebnis
Diese Website öffnet niemand mehr. Das Team hört nur dann vom System, wenn ein Name von der Liste tatsächlich erscheint.
Was ich daraus mitnehme
Bei Überwachungsaufgaben ist die schwierige Frage nicht, wie man Daten liest, sondern wie man merkt, dass man gerade keine mehr bekommt. Ein Wächter, der stillschweigend blind wird, ist schlimmer als kein Wächter.
Eingesetzt
- Python
- Docker
- Zeitgesteuerte Abrufe
- Benachrichtigung per Mail