Un Distributed Execution Manager (DEM) ejecuta la lógica empresarial de los modelos personalizados, para lo cual interactúa con la base de datos y con los sistemas y bases de datos externos según sea necesario.

Cada instancia de DEM actúa como una función de trabajo o una función de orquestador. La función de trabajo es responsable de ejecutar flujos de trabajo, mientras que la función de orquestador se encarga de supervisar las instancias de DEM de trabajo, de preprocesar los flujos de trabajo que se van a ejecutar y de programar esos flujos de trabajo.

El DEM orquestador realiza las siguientes tareas específicas.

  • Supervisa el estado de los DEM de trabajo y procura que, si una instancia de trabajo se detiene o pierde la conexión con Model Manager, sus flujos de trabajo van a volver a ponerse en cola para que otro DEM de trabajo se encargue de ellos.

  • Administra los flujos de trabajo programados creando instancias en el momento programado.

  • Garantiza que solo una instancia de un flujo de trabajo programado concreto se ejecute en un momento determinado.

  • Preprocesa los flujos de trabajo antes de que se ejecuten, incluido comprobar las condiciones previas de los flujos de trabajo (usadas en la implementación de la función RunOneOnly) y crear el historial de ejecución de flujos de trabajo.

Una instancia de DEM orquestador está designada como el orquestador activo que lleva a cabo estas tareas. Dado que el DEM orquestador es imprescindible para ejecutar flujos de trabajo, debe haber al menos una instancia de orquestador más en otra máquina para poder disponer de redundancia. El orquestador se instala automáticamente en la máquina que también ejecuta Manager Service. Este DEM orquestador adicional supervisa el estado del orquestador activo, así podrá sustituirlo en caso de que se desconecte.