Skip to main content
FineParser se configure une seule fois, au démarrage du container, à l’aide de variables d’environnement et d’indicateurs en ligne de commande. Chaque paramètre existe sous ces deux formes, et l’indicateur prévaut lorsque les deux sont fournis. Les paramètres restent valables pendant toute la durée de vie du process.

Paramètres

La licence est un texte multiligne. Transmettez-la avec $(cat acme.fineparserlicense) ou depuis un Secret Kubernetes. Les fichiers .env de Docker ne peuvent pas contenir de valeurs multilignes : ils ne conviennent donc pas pour cette variable. La télémétrie dispose de ses propres variables d’environnement permettant d’inspecter le flux ou d’en envoyer une copie à votre propre collecteur. Voir Inspecter et copier le flux.

Une configuration par container

Les paramètres de reconnaissance ne peuvent pas être modifiés requête par requête. Chaque document reçu par un container est traité avec le mode et les langues définis à son démarrage. Si différents jeux de documents nécessitent des paramètres différents, exécutez un container par configuration et acheminez chaque requête vers le container correspondant. Un proxy inverse ou le code de votre propre application peut prendre cette décision à partir des informations dont vous disposez déjà sur le document, comme sa source ou son type de fichier.

Stockage

Les résultats sont écrits dans le répertoire de sortie sous la forme {jobId}/{name}, aux côtés d’une petite base de données des tâches qui assure le suivi de chaque tâche. L’image déclare /app/output comme volume. Montez-y un volume nommé ou un répertoire de l’hôte : sans cela, Docker crée un volume anonyme et les résultats sont perdus à la suppression du conteneur.
Le conteneur s’exécute en tant qu’utilisateur non-root ; un répertoire hôte monté sur /app/output doit donc lui être accessible en écriture. Un seul conteneur par répertoire de sortie. La base de données des tâches est verrouillée tant qu’elle est ouverte : un second conteneur pointant vers le même volume refusera de démarrer. Si vous exécutez plusieurs conteneurs, attribuez à chacun son propre volume. Les fichiers téléversés ne restent dans le répertoire temporaire que le temps d’attendre la reconnaissance, et sont supprimés dès que celle-ci est terminée. Rien dans le répertoire temporaire ne survit à une tâche : il n’a donc pas besoin de volume.

Exécution sur ARM

L’image FineParser n’est actuellement compilée que pour linux/amd64. Sur un hôte ARM, tel qu’un Mac à puce Apple (série M), Docker doit l’exécuter en mode de compatibilité. Ajoutez l’option --platform linux/amd64 à docker run :
Sans cette option, Docker refuse de démarrer le conteneur ou affiche un avertissement d’incompatibilité de plateforme, selon la version. L’émulation est plus lente qu’une exécution native. La reconnaissance prendra donc plus de temps par page que sur un hôte x86-64 : considérez cette configuration comme un environnement de développement et non comme une référence de performance. Une build ARM native de l’image est en cours de préparation et rendra cette option inutile.

Arrêt du container

Attribuez au container un délai d’arrêt de 60 secondes. Lors d’un arrêt propre, FineParser laisse les requêtes en cours se terminer, vide la télémétrie, puis s’arrête. La valeur par défaut de Docker, 10 secondes, ne lui en laisse pas le temps. Utilisez --stop-timeout 60 avec docker run, ou terminationGracePeriodSeconds: 60 dans Kubernetes. Consultez Redémarrages et arrêt pour savoir ce qu’il advient des tâches alors en file d’attente ou en cours d’exécution.

Réseau

FineParser écoute sur le port 8080 à l’intérieur du container. Publiez ce port sur votre hôte avec -p HOST:CONTAINER afin de pouvoir lui envoyer des requêtes. -p 8080:8080 rend l’API accessible sur le port 8080 de l’hôte depuis n’importe quelle machine du réseau, tandis que -p 127.0.0.1:9000:8080 la limite à localhost sur le port 9000. Pour la syntaxe complète, consultez Published ports dans la documentation Docker.
Le container doit pouvoir joindre le license server d’ABBYY. Sans cette connexion sortante, FineParser n’analyse aucun document. Autorisez les plages d’adresses indiquées à la section Prérequis réseau dans votre pare-feu ou votre proxy sortant. Pour les environnements dépourvus de connectivité sortante, consultez FineParser Enterprise.

Vérification de la License

En mode serveur, appelez /healthz. Un container disposant d’une License renvoie ready: true :
En mode CLI, recherchez la ligne metering ready for instance … dans la sortie du container, avant le nombre de pages. Sans License, aucun des deux modes ne fonctionne. Le Server se déclare en mauvaise santé et ne traite rien :