En la versión 1.10.0.6 se realizó un procedimiento almacenado para que iniciara la instancia de autorización de horas extras, las horas extras que se están tratando de iniciar el flujo son al rededor de 5500, entonces para enviar la notificación al jefe tarda al rededor de 2 horas y media y esto hace que si quiero mandar a autorizar alguna otra cosa, como una solicitud de constancia, dicha notificación no llega, si no que la pone como en cola y hasta que terminen las horas extras entonces manda las demás notificaciones de autorización.

Existe alguna solución para este inconveniente?.

asked 27 Dec '16, 11:03

Brandon%20Aguilar's gravatar image

Brandon Aguilar
(suspended)
accept rate: 43%

edited 27 Dec '16, 11:04

El procedimiento que se esta utilizando es el [wfl].[add_inicio_flujo_job], si alguien tuvo una experiencia similar de enviar a autorizar un volumen alto de transacciones que nos pudiera orientar como poder hacerlo sin que ocurra este problema por favor.

(28 Dec '16, 11:01) FerdyB FerdyB's gravatar image

*Esto no es la respuesta a la pregunta. Solo explica el funcionamiento de la infraestructura para enviar entidades a flujo desde la base de datos.*

El procedimiento almacenado NO inicia los flujos, únicamente inserta registros en una tabla, creando una cola de flujos por iniciar, basada en la fecha y hora de inserción de cada registro.

Evolution al iniciar, en el proceso de WarmUp, crea una tarea en AppJobWinService, para procesar los registros que están en cola en la tabla de la base de datos.

La tarea se configura en el archivo web.config de Evolution, a través de dos parámetros que controlan el número de flujos por iniciar y el intervalo en segundos que se utiliza para la ejecución de la tarea.

<!-- Intervalo en segundos para la ejecución del job que inicia flujo en una entidad -->
<add key="InicioFlujoEntidadJobInterval" value="60" />

<!-- Número de registros a procesar en job que inicia flujo en una entidad -->
<add key="InicioFlujoEntidadJobRegistros" value="20" />

Estos parámetros le indican al AppJobWinService, cada cuánto se dispara el Job que obtiene los registros de la tabla de flujos por enviar y cuántos flujos inicia cada vez que se dispara.

Por defecto, Evolution inicia 20 flujos cada 60 segundos. Por lo tanto para enviar 5,500 flujos, se tomará:

5,500 / 20 * 60 = 16,500 segundos = 4.58 horas
(tiempo máximo, pero varía de acuerdo a las características del servidor)

Estas configuraciones se pueden modificar para que el proceso dure menos, pero tendrán consecuencias en el desempeño del servidor. Ya sea que se aumente la frecuencia de ejecución de la tarea o la cantidad de flujos por enviar, aumentará el consumo de CPU y memoria del AppJobWinService y del proceso que ejecuta el ApplicationPool del WorkflowService.

Entonces la recomendación es encontrar un balance entre los parámetros de configuración y los recursos del servidor. Si la carga de CPU y memoria se aumenta demasiado, Evolution se verá afectado, dejando de procesar "peticiones" de los usuarios. Si la carga de CPU o memoria es muy baja, se están desperdiciando recursos que pueden utilizarse para esta tarea.

link

answered 02 Jan '17, 22:30

Fernando%20Paz's gravatar image

Fernando Paz ♦♦
17.3k81635
accept rate: 51%

Creo que habría que explorar posibilidades alternativas a ejecutar 5,500 veces el procedimiento almacenado.

Por ejemplo, usando una Alerta se podría enviar menos flujos cada vez a la cola, lo cual permitiría que otros flujos se inicien sin esperar a las 5,500 horas extras.

O iniciar estos flujos en la madrugada cuando no afecten el funcionamiento del Evolution.

O modificar los parámetros para que de manera agresiva ejecute en el menor tiempo posible la incialización de los flujos.

(02 Jan '17, 22:42) Fernando Paz ♦♦ Fernando%20Paz's gravatar image
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Evolution en BitBucket

En este sitio puede acceder al código fuente, centro de descargas y reportar bugs, propuestas y mejoras para Evolution.

Evolution en JIRA

En este sitio puedes sugerir nueva funcionalidad para Evolution, o puedes votar por la funcionalidad ya propuesta por otros usuarios.

Tags:

×92
×2

Asked: 27 Dec '16, 11:03

Seen: 2,058 times

Last updated: 02 Jan '17, 22:42

[Acerca de] [Preguntas Frecuentes] [Privacidad] [Soporte] [Contacto]
Copyright 2013-2018. Asesores en Informática