Ein automatisierter Rechercheprozess ist nur dann nützlich, wenn er nicht nach dem ersten Netzwerkfehler, API-Limit oder PHP-Abbruch stehen bleibt. Für größere OCR- und Bibliotheksprojekte lohnt sich deshalb ein eigener Watchdog, der die Arbeit in kleine, wiederholbare Batches aufteilt.
Kleine Cron-Batches statt Marathonlauf
Ein mehrstündiger Einzelprozess ist anfällig für Timeouts und Speicherprobleme. Robuster ist ein Cronjob, der beispielsweise alle 15 Minuten startet und nur einen definierten Arbeitsblock erledigt.
- einige OCR-Seiten lesen
- Rohkandidaten speichern
- starke Kandidaten extern prüfen
- Fehler protokollieren
- Fortschrittszähler aktualisieren
Persistenter Zustand
Warteschlangen, Cursor, zuletzt verarbeitete IDs und Statistiken gehören in Datenbank oder Optionen. Ein PHP-Prozess darf jederzeit enden können, ohne Fortschritt zu verlieren.
Locks verhindern Doppelarbeit
Ein transienter Lock verhindert parallele Läufe auf derselben Queue. Der Lock sollte ein Ablaufdatum haben, damit ein abgestürzter Prozess nichts dauerhaft blockiert.
Fehler-Recovery pro Quelle
Timeouts, Rate Limits oder geänderte Endpunkte dürfen nicht die gesamte Pipeline stoppen. Jede Quelle sollte getrennt Abfragen, Treffer, Fehler und neue Kandidaten zählen.
Budgetschutz
Kostenlose Sammler können unabhängig weiterlaufen, während kostenpflichtige Schritte pausieren, sobald kein Guthaben oder Tagesbudget mehr verfügbar ist.
Logs müssen Fragen beantworten
Welche Quelle lief? Wie viele Seiten oder Kandidaten wurden verarbeitet? Wie viele neue Datensätze entstanden? Wie viele Fehler gab es? Wie groß ist die verbleibende Queue?
Tagesbericht statt Backend-Kontrolle
Sinnvolle Kennzahlen sind Bestand gestern/heute, Netto-Zuwachs, OCR-Funde, internationale Kontextfunde, READY-Einträge, verworfenes Rauschen und fehlerhafte Quellen.
Mailtechnik dazu: WordPress-Kundenmails zuverlässig versenden.
Chat ist Steuerung, nicht Laufzeitumgebung
Der Rechercheprozess muss auf dem Server laufen. Ein Chat kann Konfiguration und Auswertung steuern, darf aber nicht Voraussetzung dafür sein, dass der Prozess weiterarbeitet.
Gesamtworkflow
Der Forschungsworkflow steht in Historische Zeitschriften automatisiert auswerten. Internationale Quellen: Kostenlose digitale Bibliotheken. Qualitätsstufe: OCR-Namen bereinigen.
Checkliste
- Cronintervall sinnvoll wählen.
- Jeden Lauf begrenzen.
- Queue persistent speichern.
- Lock mit Ablaufzeit setzen.
- Fehler je Quelle getrennt zählen.
- Rohfunde nie direkt veröffentlichen.
- Kostenpflichtige APIs mit Budgetgrenzen schützen.
- Daily Report mit Netto-Zuwachs versenden.
Fazit
Automatisierte Recherche wird durch viele kleine, überprüfbare Prozesse robust. WordPress eignet sich dafür gut, wenn Cron, Locks, Logs und Recovery sauber getrennt aufgebaut werden.