Trabajos asíncronos y asincrónicos
SDK de Java expone dos formas independientes de conversión sin bloqueo:
- API local asincrónico (
convertBytesAsync): su propio código no bloquea el hilo mientras espera la respuesta HTTP, usando CompletableFuture.
- Trabajos debido a saturación (
202): cuando todos los backends del servidor están ocupados, la solicitud se pone en cola en el lado del servidor y responde 202 con un job_id. Consulte GET /jobs/{id}.
Ambos mecanismos son independientes: puede usar métodos de bloqueo (convertFile, convertBytes) con autoPoll manejando 202 internamente, o usar convertBytesAsync para no bloquear su hilo mientras SDK resuelve todo (incluido el sondeo de un trabajo eventual).
CompletableFuture con convertBytesAsync
Componer varias conversiones en paralelo
La paralelización agresiva de solicitudes puede desencadenar 429. Limite la simultaneidad (por ejemplo con Semaphore o procesamiento por lotes) si convierte muchos documentos a la vez.
Empleos por saturación (202)
De forma predeterminada, convertFile, convertBytes, convertBytesAsync y convertFromUrl manejan 202 de forma transparente (ConvertOptions.autoPoll es true de forma predeterminada).
Manual de encuestas
En condiciones de carga normales, no verá 202; solo sucede cuando todos los backends están saturados. autoPoll: true (el valor predeterminado) ya lo cubre sin código adicional en la mayoría de los casos.
Los resultados de los trabajos completados caducan en aproximadamente 1 hora. Si guarda un jobId y recibe 404 al consultarlo, reenvíe la conversión original.