> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Implementación en producción

## Lista de comprobación

* Solo se puede acceder a la API a través de un componente que autentique al código que realiza la llamada.
* Solo `/parse`, `/jobs/` y `/batch/` se enrutan a ingest.
* `ingest.maxUploadSize` e `ingest.scratchSize` admiten su solicitud de mayor tamaño.
* `scaling.maxWorkers` y la capacidad de sus nodos se ajustan a la carga máxima.
* Los workers se ejecutan en sus propios nodos y todos los componentes se ejecutan en nodos `amd64`.
* `orchestrator.workLeaseSeconds` es mayor que el tiempo que tarda su unidad más lenta.
* Los resultados se recopilan dentro del plazo de `orchestrator.jobRetentionSeconds` o se leen del volumen de salida.
* Si los resultados antiguos no deben conservarse indefinidamente, el almacenamiento de salida los hace caducar.

## Exposición de la API

El chart crea un Service `ClusterIP`, `fineparser-ingest`, en el puerto 8080, pero no crea ningún Ingress. Los clientes dentro del clúster pueden llamar a `http://fineparser-ingest.fineparser.svc.cluster.local:8080`.

Para exponerlo fuera del clúster, coloque delante su propio Ingress, Gateway o balanceador de carga:

* **Autentique al código que realiza la llamada.** Ingest no tiene autenticación. Cualquiera que pueda acceder a él puede enviar documentos y descargar resultados.
* **Enrute solo** `/parse` y los prefijos `/jobs/` y `/batch/`.
* **Permita cuerpos de solicitud grandes,** de al menos `ingest.maxUploadSize`.
* **Permita solicitudes de larga duración.** Configure tiempos de espera suficientemente largos para que pueda completarse la carga de mayor tamaño.

## Dimensionamiento de cargas

Cada solicitud necesita aproximadamente el doble de su tamaño en espacio temporal de ingest.

| Valor | Predeterminado | Valor recomendado |
| - | - | - |
| `ingest.maxUploadSize` | `512Mi` | El tamaño de su solicitud más grande. Las solicitudes que lo superen reciben un `413`. |
| `ingest.scratchSize` | `2Gi` | Aproximadamente el doble de `maxUploadSize`. El nodo necesita esta cantidad de almacenamiento efímero libre por cada pod de ingest. |

## Resultados y retención

El estado de un trabajo finalizado se conserva durante `orchestrator.jobRetentionSeconds` (`86400`) segundos. Con `"infinity"`, se conserva indefinidamente. FineParser nunca elimina los resultados del volumen de salida, por lo que pueden descargarse incluso después de que caduque el estado.
