Rendimiento de la Maquina de estado en Nintex Workflow

Nintex Workflow dispone de un mecanismo para proteger el entorno de SharePoint de que un flujo de trabajo pueda entrar en un bucle infinito y afecte de manera negativa en el rendimiento del sistema.
Este mecanismo se trata de “Imponer el uso de repeticiones seguras” (“Enforce safe looping” en inglés). Con la opción de “Imponer el uso de repeticiones seguras” habilitada, al publicar cada flujo de trabajo se incluye un retardo oculto en cada acción de loop (por ejemplo en el cambio de estado en una máquina de estados) para evitar precisamente el uso excesivo de recursos.

Si deshabilitamos esta opción podemos obtener bastante mejora en el tiempo que tarda el flujo de trabajo en ejecutarse.

¿Qué es mejor, habilitarla o no?

Con la opción deshabilitada corremos el riesgo de que un usuario diseñe un flujo de trabajo que entre en un bucle infinito y se vea afectada la granja entera de servidores e incluso otros flujos de trabajo.
Si la opción está habilitada puede provocar que un flujo de trabajo aparentemente simple, tarde mucho más tiempo de lo esperado en ejecutarse.

¿Entonces que opción elegimos?

Desde el punto de vista de seguridad evidentemente dejar la opción de “Imponer el uso de repeticiones seguras” habilitadas es preferible. Normalmente se suele preferir que un flujo de trabajo se ejecute más lentamente frente a la posibilidad de que la granja de servidores se pueda ir abajo por un uso excesivo de recursos.
No obstante si es importante que nuestros flujos de trabajo se ejecuten rápidamente no es una buena opción tener habilitada la opción de “Imponer el uso de repeticiones seguras”.

¿Dónde se modifica la configuración de las repeticiones seguras?

La opción de “Imponer el uso de repeticiones seguras” podemos configurarla desde la Administración Central > Administración de Nintex Workflow > Configuración Global.

Después de modificar esta configuración será necesario hacer un IISRESET y volver a publicar los flujos de trabajo ya que el retardo oculto lo introduce al publicar.

¿Podemos tener unos flujos de trabajo con la imposición de repeticiones seguras y otros no?

Puesto que es necesario volver a publicar los flujos de trabajo después de hacer el cambio. Podemos deshabilitar el uso de repeticiones seguras, hacer el IISRESET y volver a publicar los flujos de trabajo que no queramos que tengan la imposición de repeticiones seguras.
Después volvemos a dejar la configuración habilitada y ya tendríamos unos flujos de trabajo con la imposición de repeticiones seguras y otros no.

Esperamos que te haya sido útil, si tienes cualquier duda deja tu comentario. ¡Nos encantará poder ayudarte!

¡Ah! ¡Y gracias por compartir!