Estrategia de respaldo / reintento

Este tema explica la necesidad de una estrategia de reintento/retroceso para las solicitudes de ingesta dinámica y proporciona una descripción de alto nivel de cómo implementar una.

Fondo

Dynamic Ingest impone una limitación de velocidad (por cuenta) de dos formas:

  • No se permiten más de 20 solicitudes (API de CMS y / o solicitudes de API de ingesta) por segundo
  • No se permiten más de 100 trabajos de prioridad normal simultáneos

El primero no es difícil de administrar en su aplicación: puede imponer un retraso de 3 segundos o más entre solicitudes. El segundo es más complicado, ya que no hay forma de consultar el sistema directamente para determinar cuántos trabajos tiene procesando actualmente. Alternativamente, considere usar el Cola de prioridad baja lo que le permitirá poner en cola más de 100 trabajos.

Simplemente puede esperar un período de tiempo y volver a intentar las solicitudes hasta que tengan éxito, pero puede implementar un sistema de respaldo / reintento más racional al escuchar notificaciones desde el sistema Dynamic Ingest y utilizando la información para realizar un seguimiento de los trabajos en curso.

Una forma de implementar esto sería crear una aplicación de transceptor que envíe las solicitudes de ingesta y escuche las notificaciones. El siguiente diagrama muestra la lógica de alto nivel de dicha aplicación.

Lógica del transceptor
Lógica del transceptor

Aplicación de muestra

Puede encontrar la fuente de una muestra Nodo-Express aplicación en esta Repositorio de Github