Skip to main content
FineParser wird einmalig beim Start des Containers über Umgebungsvariablen und Befehlszeilen-Flags konfiguriert. Jede Einstellung steht in beiden Formen zur Verfügung; werden beide angegeben, hat das Flag Vorrang. Die Einstellungen gelten für die gesamte Laufzeit des Prozesses.

Einstellungen

Die Lizenz ist ein mehrzeiliger Text. Übergeben Sie sie mit $(cat acme.fineparserlicense) oder aus einem Kubernetes Secret. Docker-.env-Dateien können keine mehrzeiligen Werte enthalten und eignen sich daher nicht für diese Variable. Die Telemetrie verfügt über eigene Umgebungsvariablen, mit denen Sie den Stream prüfen oder eine Kopie an Ihren eigenen Collector senden können. Siehe Stream prüfen und kopieren.

Eine Konfiguration pro Container

Die Erkennungseinstellungen lassen sich nicht pro Anfrage ändern. Jedes Dokument, das ein Container empfängt, wird mit dem Modus und den Sprachen verarbeitet, mit denen er gestartet wurde. Wenn unterschiedliche Dokumentensätze unterschiedliche Einstellungen erfordern, betreiben Sie je Konfiguration einen eigenen Container und leiten Sie jede Anfrage an den passenden Container weiter. Ein Reverse-Proxy oder Ihr eigener Anwendungscode kann diese Entscheidung anhand der bereits bekannten Informationen über das Dokument treffen, etwa anhand seiner Herkunft oder seines Dateityps.

Speicher

Die Ergebnisse werden als {jobId}/{name} in das Ausgabeverzeichnis geschrieben – neben einer kleinen Job-Datenbank, die alle Jobs erfasst. Das Image deklariert /app/output als Volume. Mounten Sie dort ein benanntes Volume oder ein Host-Verzeichnis, denn andernfalls erstellt Docker ein anonymes Volume und die Ergebnisse gehen verloren, sobald der Container entfernt wird.
Der Container läuft als non-root user, daher muss ein unter /app/output eingehängtes Host-Verzeichnis für ihn beschreibbar sein. Ein Container pro Ausgabeverzeichnis. Die Job-Datenbank ist gesperrt, solange sie geöffnet ist, sodass ein zweiter Container, der auf dasselbe Volume verweist, nicht startet. Wenn Sie mehrere Container betreiben, weisen Sie jedem ein eigenes Volume zu. Uploads verbleiben nur so lange im Scratch-Verzeichnis, wie sie auf die Erkennung warten, und werden gelöscht, sobald diese abgeschlossen ist. Nichts im Scratch-Verzeichnis überdauert einen Job, daher ist dafür kein Volume erforderlich.

Ausführung auf ARM

Das FineParser-Image wird derzeit ausschließlich für linux/amd64 gebaut. Auf einem ARM-Host, etwa einem Mac mit Apple Silicon (M-Serie), muss Docker es im Kompatibilitätsmodus ausführen. Übergeben Sie dazu --platform linux/amd64 an docker run:
Ohne das Flag verweigert Docker je nach Version entweder den Start des Containers oder gibt eine Warnung wegen einer Plattform-Inkompatibilität aus. Die Emulation ist langsamer als die native Ausführung. Die Erkennung dauert pro Seite länger als auf einem x86-64-Host, daher sollte dies als Entwicklungs-Setup und nicht als Benchmark betrachtet werden. Ein nativer ARM-Build des Images ist in Arbeit und macht dieses Flag künftig überflüssig.

Container stoppen

Legen Sie für den Container ein Stop-Timeout von 60 Sekunden fest. Bei einem sauberen Stopp lässt FineParser laufende Anfragen zu Ende laufen, schreibt Telemetriedaten weg und beendet sich anschließend. Der Docker-Standardwert von 10 Sekunden unterbricht diesen Vorgang vorzeitig. Verwenden Sie --stop-timeout 60 mit docker run oder terminationGracePeriodSeconds: 60 in Kubernetes. Unter Neustarts und Herunterfahren erfahren Sie, was mit Jobs geschieht, die zu diesem Zeitpunkt in der Warteschlange stehen oder ausgeführt werden.

Netzwerkkonfiguration

FineParser lauscht innerhalb des Containers auf Port 8080. Veröffentlichen Sie diesen Port mit -p HOST:CONTAINER auf Ihrem Host, damit Sie Anfragen an ihn senden können. Mit -p 8080:8080 ist die API auf Host-Port 8080 von jedem Rechner im Netzwerk aus erreichbar, während -p 127.0.0.1:9000:8080 den Zugriff auf localhost über Port 9000 beschränkt. Die vollständige Syntax finden Sie unter Published ports in der Docker-Dokumentation.
Der Container muss den Lizenzserver von ABBYY erreichen können. Ohne diese ausgehende Verbindung verarbeitet FineParser keine Dokumente. Geben Sie die unter Netzwerkanforderungen aufgeführten Adressbereiche in Ihrer Firewall bzw. Ihrem Egress-Proxy frei. Für Umgebungen ohne ausgehende Verbindung siehe FineParser Enterprise.

Lizenz bestätigen

Rufen Sie im Servermodus /healthz auf. Ein lizenzierter Container meldet ready: true:
Suchen Sie im CLI-Modus in der Ausgabe des Containers nach der Zeile metering ready for instance …, die vor der Seitenzahl erscheint. Ohne Lizenz funktioniert keiner der beiden Modi. Der Server meldet den Zustand „unhealthy“ und verarbeitet nichts: