Hola todos!!
Cómo funcionan los acceso del catálogo que tiene el parámetro cache? Tienen algún tiempo de refresco?
Les trasmito lo que me dice el usuario:
"Los cambio que se realizan en Guaraní Gestión, como por ejemplo Creación de una comisión, NO se reflejan en forma inmediata en Guaraní 3w. Es decir, al crear una comisión, luego de confirmarla en Gestión… si se ingresa en forma inmediata a gestión, no se refleja en el perfil del alumno. Hay que cerrar sesión y espera un lapso de tiempo para poder ver los cambios nuevos. "
Nosotros sólo mostramos materias que tiene comisiones creadas y esta lista de materias en la operación inscripción a cursadas tiene el parámetro cache.
Hola Ana, las funciones que se encuentran en el catálogo modelos/datos/db y en su definición tienen cache: memoria, se guardan en caché.
Es decir, se accede a la base de datos una sola vez y luego se guardan en memoria. La siguiente consulta, tomará los datos de la caché.
Si esta problemática es un caso circunstancial, pueden ejecutar el comando ‘limpiar_caché’ directorio_proyecto/bin$ ./guarani limpiar_cache
Ahora, si es para casos que ocurren permanentemente y afectan al uso del sistema, deberían considerar no guardar los datos en caché, modificando la definición de la función a cache:no y generar el catálogo. El tema es que esto bajará el rendimiento de la operación.
Por lo que me decis, entiendo que la cache está en el servidor no en el cliente y no tiene tiempo de refresco.
Cuando el alumno en este caso vuelve a logearse, se vuelve a cachear el datos.
Es así o entiendo mal?
Gracias.
ANA - UNNOBA
Esta caché no tiene tiempo de expiración, dura lo que dura la sesión y se pierden los datos al desloguearse.
Se usa para funciones específicas de la sesión: por ejemplo, las noticias disponibles para el alumno, los datos básicos del alumno, los perfiles del alumno, etc.
Memoria:
Cuyo uso se define en la función del catálogo de la siguiente manera:
El tiempo de expiración lo definís para cada función.
Este tipo de caché es general para todas las sesiones.
Se puede limpiar con el comando limpiar_cache
Clarísimo!!! Muchas gracias!!!
Una consulta más, el parámetro cache_expiracion: 600, 600 es el valor por default, para todas las funciones que no tengan este parámetro?
Si se omite el parámetro cache_expiracion, la memoria expirara en la cantidad de segundos definidos en la constante CACHE_EXPIRATION_MAX de la clase src/siu/modelo/datos/catalogo.php (por defecto 5 minutos), acá les dejo la documentación. Para limpiarla habrá que correr el comando limpiar_cache.
El valor cache_expiracion : 600, es un ejemplo, utilizado por muchas funciones de nuestro catálogo.
Va otra consulta: si quiero agregar el parámetro cache_expiracion a una función del catálogo, tengo que personalizar, no? Cómo deberìa hacerlo? Porque el método no cambia y quiero que siempre mantenga el que está en el catalogo original. Se entiende?
Recrear la estructura del directorio, en el sector correspondiente a la personalización. (Por ejemplo, si querés personalizar la función lista_materias, que trae las materias para inscripción a cursadas, deberás recrear el directorio de esta manera: src/pers/nombre_pers/modelo/datos/db/inscripcion_cursada.php)
En la personalización debe hacerse un extends en la clase original (siguiendo el ejemplo: class inscripcion_cursada extends \siu\modelo\datos\db\inscripcion_cursada)
Personalizar la función correspondiente (en el archivo que se encuentra dentro del directorio de la personalización)
Siguiendo el ejemplo: