Inicialmente, al generar algunos reportes tanto en Reporting Services como en Crystal Reports, mostraba el problema de timeout, porque algunos de ellos demoraban un poco más de 2 minutos en generarse, entonces, se optó por modificar los tiempos del CommandTimeout a 2400, en los siguientes ficheros:
Ahora, existe un reporte hecho en crystal, que su procedimiento almacenado demora un poco más de los 10 min. Pero el problema es que al tratar de generarlo en evolution, en el minuto 5:33, muestra un error de A task was canceled. Validé los servicios de evolution, pensando que alguno de ellos se botó, pero todo estaba bien. ¿Hay algo más que se tenga que configurar en lo archivos, para que pase del tiempo antes mencionado? asked 18 Feb '21, 11:55 Erick Túchez Fernando Paz ♦♦ |
Las configuraciones que mostras son timeouts de la conexión de base. La tarea cancelada tiene que ver con el tiempo de espera entre el proceso que ejecuta el ApplicationPool y el CrystalReportsAPI, eso no tiene nada que ver con los parámetros AdoCommandTimeout. Claro que en el caso de este reporte, este timeout debe ser muy alto para generar un reporte que tarda tanto. El AppSettings.config del Website de Evolution, tiene una configuración para el Timeout del tiempo de espera de los Requests que hace usando el cliente HTTP de .Net, como por ejemplo los que hace al CrystalReportsAPI. Asi se ve en el archivo de configuración:
Por defecto lleva 300 segundos, que casualmente corresponden con el tiempo de 5 minutos que dice tu pregunta. Aumentalo al tiempo requerido, pero tené en cuenta, que aumentar los tiempos de timeout (este y el de ADO), generan baja de rendimiento del Evolution, la recomendación siempre es mantener estos tiempos cortos y trabajar los procesos largos como este reporte de otra manera, para no afectar el rendimiento en general de todo el website. answered 18 Feb '21, 15:06 Fernando Paz ♦♦ Gracias. Estaba buscando esa línea en el archivo que indicas (C:\ASEINFO\Evolution Components 1.19.1.0\wwwEvolution), pero no la encuentro. ¿Seria de agregarlo?
(18 Feb '21, 15:46)
Erick Túchez
Si no la encontrás, tendrias que agregarla en el archivo AppSettings.config del Website de Evolution
(24 Feb '21, 13:56)
Fernando Paz ♦♦
|
Mi recomendacion personal para estos casos es separar la recoleccion de datos del reporte. Es decir, cuando he tenido situaciones asi creo que un procedimiento almacenado para que el usuario ejecute y se tarde todo lo necesario para que llene unas tablas y cuando el procedimiento termina el reporte solo hace un select * a la tabla recien llenada answered 18 Feb '21, 14:12 sbarahona ♦♦ Apoyo tu recomendación, porque aumentar los tiempos de timeouts afecta el rendimiento de Evolution en general.
(18 Feb '21, 15:18)
Fernando Paz ♦♦
|