Skip to main content

Streaming y trabajos asincrónicos

Como en API, existen dos mecanismos diferentes:
  1. Transmisión de respuesta (/convert/stream, /convert/stream-from-url): fragmentos de Markdown progresivo mientras el servidor convierte.
  2. Trabajos por saturación (202): cuando todos los backends están ocupados, la solicitud se pone en cola y se responde a 202 con un job_id. Consulte GET /jobs/{id}.

Transmitiendo con convertStream

convertStream devuelve un AsyncIterable<string>; úselo con for await...of en Node/Deno/Bun, o consuma el iterador manualmente.

streamSlimStrategy

  • "off": streaming puro por página, sin detección de ruido. TTFB mínimo.
  • "sampled" (predeterminado): muestra las primeras páginas y luego genera por página.
  • "full": materializa el documento completo antes de su emisión. Mejor limpieza, peor TTFB.
Consulte Parámetros.

Empleos por saturación (202)

De forma predeterminada, convertFile y convertFromUrl manejan 202 de forma transparente (autoPoll: true):

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.