Problemas con Control de Regularidad de Alumnos G 3.17.0

Buen día para todos, Estamos teniendo un problema para poder procesar el control de regularidad, configuramos las reglas, y cuando vamos a ejecutar queda pensando eternamente hasta que abortamos, eso lo probamos con una propuesta que tiene 29 inscriptos, se supone que se tenía que ejecutar en menos de un minuto.

Con respecto a Confiuara Reglas para control de Regularidad también tenemos nuestras dudas. Antes podíamos configurar la regla a nuestro antojo, ahora como podríamos hacer eso, tendíamos que generar un nueva regla? porque hay facultades que controlan la cantidad de readmisiones que tiene el alumno y si son consecutivas o alternadas, dependiendo de eso les baja la regularidad o no.

Saludos cordiales!

Hola Ricardo. Si una propuesta tiene 29 alumnos, debería ejecutarse al instante.
¿Podes comentarnos que requisitos configuraron?
¿Alguno es una personalizacion?
¿Esta misma configuracion de requisitos que evaluan a cada alumno para su regularidad es lo mismo que utilizaron el año anterior?

Con respecto a Confiuara Reglas para control de Regularidad también tenemos nuestras dudas. Antes podíamos configurar la regla a nuestro antojo
Esto debería seguir igual. ¿Que hace que no puedan agregar sus propios requisitos (reglas)?

Hubo un cambio en el modelo de datos. Se agregó la posibilidad de configurar estos requisitos para ser regular por propuesta/ubicación y ademas poder diferenciar los requisitos que se requieren para ser regular y lo sque se requieren para validar una readmisión vencida.

Las reglas que configuras por PROPUESTA / UBICACION y REGULARIDAD / READMISION se hace por la operación » MATRÍCULA » REGULARIDAD »CONFIGURAR REGLA DE CÁLCULO DE REGULARIDAD DE ALUMNOS

Fijate la siguiente consulta, filtra par aesa propuesta y veamos que regla se estarían evaluando a esos alumnos:

SELECT p.codigo, p.nombre as propuesta_nombre, u.nombre as ubicacion_nombre, pr.para_controlar, r.regla, r.nombre as regla_nombre, pc.nombre as causa_nombre FROM sga_propuestas_regularidad as pr JOIN sga_perdida_regularidad_causas as pc ON pc.causa_perdida_reg = pr.causa_perdida_reg JOIN sga_reglas as r ON r.regla = pc.regla JOIN sga_ubicaciones as u ON u.ubicacion = pr.ubicacion JOIN sga_propuestas as p ON p.propuesta = pr.propuesta

WHERE pc.estado = ‘A’
AND p.propuesta = …
ORDER BY p.nombre, u.nombre, pr.para_controlar, r.nombre

6

Hola Ale, disculpa la demora, no fue un día normal. En fin, me bombardeaste mal jejeje, vamos por parte.

Configuramos los dos requisitos que dice la documentación, exactamente son:

mat_regularidad_alumno: Que esta puesto para que sea por propuesta.
mat_cnt_auto_readmisiones_alumno: 2 para que le de dos veces readmisión automática.

En la versión 3.16.2 si teníamos una personalización, pero ahora estamos en la versión 3.17.0, con la versión anterior no funcionaba de esa forma el guaraní, las reglas se hacían por código y se personalizaba una regla que ahora no me estoy acordando el nombre.

Con la pregunta 3 es como te dije antes, es la primera vez que hacemos esto con esta versión del Guaraní.

No se modificó nada en el modelo de datos.

En realidad lo que hicimos es configurar dos reglas en la operación que mencionas “Configurar Regla de Cálculo de Regularidad de Alumnos” estas son:

Cantidad mínima de materias aprobadas → se puso la propuesta con la que estamos probando.
Materias Aprobadas x Examen (Normal) → Idem anterior.

codigo | propuesta_nombre | ubicacion_nombre | para_controlar | regla | regla_nombre | causa_nombre
--------±------------------------------------------------±-----------------±---------------±------±---------------------------------------------------------------±--------------------------------------
FE05 | TECNICO UNIVERSITARIO EN HIDROLOGIA SUBTERRANEA | Campus Santiago | 0 | 600 | Tener aprobadas al menos dos actividades en el a�o acad�mico x | Cantidad m�nima de materias aprobadas
FE05 | TECNICO UNIVERSITARIO EN HIDROLOGIA SUBTERRANEA | Campus Santiago | 0 | 600 | Tener aprobadas al menos dos actividades en el a�o acad�mico x | Materias Aprobadas x Examen (Normal)

Esa es la información que tira la consulta.

Te comento, hicimos todo para que funcione, pusimos todos los permisos en las carpetas para que se ejecute bien, en procesos_bk esta la carpeta del proceso, pero el log esta vacío y el archivo de resultaos.xml queda trunco con 3 lineas, todos los demás archivo quedan igual que el de resultado.xml salvo un que tiene un nombre largo con numero que se me hace que es un json en una sola linea, ese archivo es un poco largo pero es difícil de leer en la consola. De igual manera ese archivo tiene información, creo yo, de la ejecución.

Saludos! y muchas gracias por contestar!

Pareciera que esta bien, se controlan esos dos requisitos a cada alumno.
¿Corrieron esta misma operacion en algún ambiente de prueba con la misma version de Guarani?

Hola Ale, en realidad estamos corriendo esto en un ambiente de prueba, como es nuevo, lo queríamos probar, el miércoles que viene comenzamos con la ejecución de este proceso en producción.

Saludos!

Hola Ricardo

Puede que sean problemas de permisos, por favor verificalos con la documentación

Saludos!

Hola Sergio! muchas gracias por la mano!!

Pero seguí el paso a paso de la documentación y dice esto:


chown -R $(whoami):www-data www temp instalacion vendor/siu-toba/framework/www vendor/siu-toba/framework/temp
chmod 775 -R www temp instalacion vendor/siu-toba/framework/www vendor/siu-toba/framework/temp

y sigue sin funcionar, en el log no aparece nada del error, solo que intenta hacer y siempre esta en cero, no puedo debuguearlo porque no se como hacerlo, nunca supe como hacer en un proceso background.

Saludos!

Hola

El log está en temp/procesos_bk

Fijate en los valores de los parámetros por default.

Emilio

Hola Ricardo

También tenes que revisar el log de comandos en instalacion/logs_comandos/

Saludos

Hola Emilio y Sergio, me volví a fijar en los logs y realmente no aparecen errores, el log que me sugiere Emilio esta vacío solo el archivo pro_verificar_regularidad_alumno_5e62b1c9a0e40 tiene información que aparece en un formato extraño con los datos de los alumnos a los que se debería ejecutar el proceso, creo… Con respecto al log que me sugiere Sergio, no aparece ningún error, el fragmento que pego es el siguiente:


[DEBUG][guarani] array (
)
[INFO][guarani] Ejecutando: svn info "/opt/guarani/www" --xml  --non-interactive

[DEBUG][guarani] PUNTO DE MONTAJE: se carg� exitosamente el autoload del punto de montaje proyecto
[DEBUG][guarani] PUNTO DE MONTAJE: se carg� exitosamente el autoload del punto de montaje personalizacion
[INFO][guarani] PUNTO MONTAJE: se carg� la clase extension_toba/guarani_fuente_datos.php del punto de montaje proyecto. El path del mismo es /opt/guarani/php
[DEBUG][guarani] Inicializando perfil de datos para el proyecto guarani
[DEBUG][guarani] SQL con perfil de datos: SELECT DISTINCT
						sga_perdida_regularidad_causas.causa_perdida_reg,
						sga_perdida_regularidad_causas.nombre,
						sga_perdida_regularidad_causas.descripcion,
						sga_perdida_regularidad_causas.regla,
						sga_reglas.php_clase
				FROM	sga_propuestas_regularidad
						JOIN sga_perdida_regularidad_causas	ON sga_perdida_regularidad_causas.causa_perdida_reg = sga_propuestas_regularidad.causa_perdida_reg
						JOIN sga_reglas						ON sga_reglas.regla = sga_perdida_regularidad_causas.regla
				WHERE	sga_perdida_regularidad_causas.estado = 'A'
						 AND sga_perdida_regularidad_causas.causa_perdida_reg = 1 
				
[DEBUG][guarani] SQL con perfil de datos: 	SELECT 	par_parametros_sistema.valor_default as valor
					FROM 	par_parametros_sistema
					WHERE	upper(par_parametros_sistema.parametro) = 'MAT_REGULARIDAD_ALUMNO'
							;
[DEBUG][guarani] SQL con perfil de datos: 	SELECT 	par_parametros_sistema.valor_default as valor
					FROM 	par_parametros_sistema
					WHERE	upper(par_parametros_sistema.parametro) = 'MAT_CNT_AUTO_READMISIONES_ALUMNO'
							;
[DEBUG][toba] Estado Proceso: 0

Estamos un poco desesperados.

Saludos!

Hola Ricardo

Por favor envianos el resultado de estas querys


select * from sga_perdida_regularidad_causas	
select * from sga_propuestas_regularidad

y por favor adjuntanos la carpeta procesos_bk donde se guardan los los logs de procesos!

Saludos

Hola Sergio, mil gracias por contestar, te envío lo que me pediste y además el log de comandos.

Saludos!


pro_verificar_regularidad_alumno__20200306_172545___1967.zip (63 KB)

Hola Ricardo

Mirando el log y el nodo de ustedes, vimos que el problema surge porque tienen personalizado tanto el proceso php/nucleo/matriculas/regularidad/pro_verificar_regularidad_alumno_nucleo.php como la regla que se invoca desde el proceso y no esta funcionando correctamente, deben revisar esas personalizaciones teniendo en cuenta la versión 3.17

Saludos!

Ricardo

Mirando un poco más los datos y el código, vemos que en la personalización del proceso pro_verificar_regularidad_alumno.php cuando llaman al método get_causas_perdidas_regularidades lo filtran por sga_perdida_regularidad_causas.causa_perdida_reg = 1, y en la tabla sga_propuestas_regularidad, no tienen ninguna entrada con esa ‘causa_perdida_reg’,

Luego como en el proceso personalizado hacen un


if (empty($causas_perdidas_regularidad)) {
  return;
}

sale del proceso sin dejar ningún tipo de logs,

Modificando ese filtro posiblemente funcione esa personalización

Saludos!
4

Hola Sergio, pensaba que ese proceso había caído con la actualización y habían cambiado de nombre las clases. Cuando vimos el código lo hicimos en el código del sistema y no de personalización. En fin, voy a ver, quisiera saber que me conviene mas, sacar la personalización y volver hacerla o hacer funcionar la que esta?

Mil gracias! saludos!

Hola Ricardo

Todo depende del apuro que tengan en correr el proceso, como ya usaron esa personalización en otras oportunidades, y como les mencioné en el mensaje anterior, modificando esos aspectos y probando en ambiente de testing, posiblemente salga andando rápido. Si tienen más tiempo, deberían revisar la personalización completa, ya que también vimos que en la personalización de la regla regla_regularidad_dos_actividades_aprobadas.php, por ejemplo, le falta el $ a la variable porcentajesolicitado en varias llamadas.

Espero les sirva la opinión

Saludos!

Hola Sergio, mil gracias, si vi los errores que tiene el método y ya los estamos corrigiendo. Ahora estamos haciendo las pruebas así mañana ya los ejecutamos.

Saludos!