Colas
Los clientes pueden sobrecargar nuestros sistemas con solicitudes válidas para el procesamiento de archivos a gran escala en solo unos segundos. Para gestionar estos picos de forma eficiente y garantizar un servicio fluido para todos los clientes, hemos implementado mecanismos de colas.
¿Cómo funciona?
- Live Queue: Las cargas directas de archivos colocan los Encoding Jobs en la Live Queue para su procesamiento inmediato, que actúa como una vía rápida. Los Jobs en tiempo real tienen prioridad sobre todos los demás Jobs. La Live Queue se comparte entre todos los clientes.
- Batch Queue: La Batch Queue está destinada a Jobs de mayor tamaño que no requieren procesamiento
en tiempo real. La clasificación automática por lotes depende del importador y de sus reglas de importación masiva,
no simplemente del número total de archivos de una Assembly. Para elegir explícitamente la
Batch Queue, establece
"queue": "batch"en el Step. Los Jobs por lotes que cumplen los requisitos se ejecutan con menor prioridad utilizando la capacidad disponible de los procesos de trabajo. Pueden ejecutarse mientras haya Jobs en tiempo real en cola si esos Jobs no pueden utilizar dicha capacidad. La Batch Queue también se comparte entre todos los clientes. - Redistribución automática: Si se envían demasiados Jobs en tiempo real y superas la cantidad de Priority Job Slots de tu plan de suscripción, los Jobs irán pasando a la cola de respaldo para evitar que afecten al rendimiento en tiempo real de otros clientes. Volverán a enviarse a la Live Queue en cuanto se completen algunos de tus Jobs en tiempo real y se liberen así Priority Job Slots de tu Workspace.
- Cola de respaldo: Del mismo modo, si se envían demasiados Jobs por lotes, también irán pasando a una cola de respaldo y volverán a encolarse en la Batch Queue compartida en cuanto se completen algunos de tus Jobs por lotes y se liberen así plazas para Jobs por lotes de tu Workspace.
¿Cuántas plazas consumen los Jobs?
El número de plazas necesarias varía según el tipo de Job.
Por ejemplo, un Job de /video/encode ocupa 60 plazas, mientras que un Job de /image/resize utiliza 5 plazas.
Puedes encontrar una lista de todos los Robots y sus requisitos de plazas en la entrada de preguntas frecuentes sobre Priority Job Slot.
¿Cuántos Jobs puedo procesar en paralelo?
Cada plan de suscripción incluye un límite de plazas para Jobs en tiempo real y plazas para Jobs por lotes por región. Por ejemplo, si tu límite de Priority Job Slots es de 120, puedes tener 24 redimensionamientos de imágenes simultáneos (5 plazas cada uno) o 2 codificaciones de vídeo simultáneas antes de que los Jobs empiecen a pasar a la cola de respaldo. Del mismo modo, si tienes 360 plazas para Jobs por lotes, tener más de 6 Jobs de vídeo encolados en la Batch Queue hará que los Jobs posteriores se encolen en la cola de respaldo.
Los límites de Priority Job Slots y plazas para Jobs por lotes de tu plan de suscripción se aplican por región.
¿Cómo puedo evitar que se degrade el rendimiento?
-
Obtén una mayor cantidad de Priority Job Slots y plazas para Jobs por lotes, lo que aumenta la capacidad de procesamiento. Ponte en contacto con nosotros para obtener valores personalizados.
-
Establece
waitForEncodingenfalse(disponible, por ejemplo, en la integración con Uppy). Esto hace que el procesamiento sea asíncrono, por lo que los tiempos de espera en cola de dos minutos no bloquearán la experiencia del usuario final. Cuando los archivos estén listos, enviamos un ping anotify_urly tú avisas a tu usuario. Este enfoque ofrece la mejor experiencia de usuario y fiabilidad, y te permite habilitar Assembly Replays si es necesario. Puedes encontrar más información al respecto en la documentación de Assembly Notifications. -
Al establecer
"queue": "batch"en un Step, puedes reducir tú mismo la prioridad de sus Jobs para evitar consumir Priority Job Slots en Jobs que no necesitan realmente tiempos de espera en cola nulos. Por ejemplo:
{
"steps": {
// …
"encode": {
"use": ":original",
"robot": "/video/encode",
"queue": "batch",
// …
},
// …
}
}
¿Dónde puedo consultar los tiempos de espera en cola actuales de mi región?
Puedes consultar los tiempos de espera en cola actuales tanto de las Live Queues como de las Batch Queues en nuestra Página de estado, y acceder a ellos de forma programática a través de nuestro endpoint de la API de colas (los valores están en segundos).