Memoria caché

Recuperar notificaciones para los módulos de visualización podría ser caro en un sistema con cientos de miles de notificaciones, especialmente a nivel del panel de notificaciones, con cortes en todos los cursos disponibles. Para ayudar a mitigar la carga de ejecutar esta solicitud, el sistema de notificaciones incluye una caché por sesión, por usuario:

  • Esta caché almacena los resultados de una solicitud de notificación para un usuario, una sesión o un contacto específico. Esto significa que el sistema mantiene cachés separadas para cada usuario y para cada curso en el que el usuario inicie la sesión, y en el nivel global del panel de notificaciones.
  • El usuario es capaz de actualizar manualmente la caché. La acción de actualización borra la caché de todos los contextos para una sesión determinada.
  • La caché no se actualizará con la llegada de nuevas notificaciones. El usuario tendrá que actualizar manualmente para verlos o esperar a que se agote el tiempo de espera de la caché. Consulte la siguiente tabla para ver los valores de tiempo de espera predeterminados.
  • La caché responderá a las eliminaciones manuales de notificación. Por tanto, si el usuario elimina una notificación desde una vista concreta, también se eliminará de la caché en todos los contextos.

La memoria caché se configura utilizando las propiedades del archivo de configuración bb-config.properties.

Propiedades de la caché
Propiedad Clave Valor predeterminado
Número máximo de elementos bbconfig.cache.nautilusCache.elements 500 segundos
Tiempo para pasar a activo bbconfig.cache.nautilusCache.timetolive 600 segundos
Tiempo para pasar a inactivo bbconfig.cache.nautilusCache.timetoidle 600 segundos
Eterno bbconfig.cache.nautilusCache.eternal no

Si el rendimiento asociado a los módulos de visualización resulta ser un problema, los administradores pueden modificar estos ajustes para aumentar la longevidad de las notificaciones en caché. El equilibrio aquí es que cuanto mayor sea la caché, menos actualizadas pueden ser las notificaciones mostradas.

La configuración de la caché no afecta a la distribución de notificaciones.


Configuración del tamaño de las notificaciones

El almacén de notificaciones puede alcanzar un tamaño considerable. Esta sección incluye estrategias para evitarlo.

Desactivar las notificaciones que no son necesarias

De forma predeterminada, el sistema se entrega con todas las notificaciones activadas, lo que significa que todas las notificaciones que se pueden crear, se crearán, para todos los eventos soportados. Dependiendo del tamaño de la institución y de los modos en que se configuran los cursos al comienzo del semestre, podría originar tablas de tamaños muy grandes y degradaciones asociadas al rendimiento.

Es una buena idea desactivar las notificaciones que no se necesiten. Para ello, vaya a la página Configuración del curso => Configuración de las notificaciones predeterminada y a la página Configuración de la organización => Configuración de las notificaciones predeterminada y seleccione la opción Siempre desactivado para las notificaciones a todos los distribuidores disponibles.

Una alternativa es desactivar ciertas notificaciones durante los periodos de más actividad. Por ejemplo, se pueden desactivar las notificaciones de Elemento de contenido disponible mientras se completan las plantillas de los cursos, ya que lo más probable es que generen la mayoría de las notificaciones durante ese periodo.

Reducir la duración de las notificaciones

Las notificaciones se eliminan de forma periódica cuando llevan en el sistema más de una cantidad determinada de días. La configuración predeterminada es de 120 días, que es aproximadamente la duración de un semestre. Usted puede controlar la mortalidad de estas notificaciones actualizando el intervalo de Limpieza de notificaciones. Para hacer que las notificaciones se eliminen del sistema más rápido, reduzca este valor. Para obtener más información, consulte Configuración de las opciones de notificaciones.

Utilice este ajuste con precaución. Las notificaciones eliminadas no se pueden recuperar ni se pueden volver a emitir con facilidad.


Tareas de fondo de las notificaciones

El sistema de notificaciones depende de dos tareas, ambas definidas en el archivo de configuración bb-tasks.xml.

Tareas de segundo plano de notificaciones
Nombre de tarea Interno (minutos) Finalidad
NotificationRemoveStaleDataTask 5 Esta tarea tiene diversas funciones:
  • Enviar recordatorios para eventos Debidos. Se envían recordatorios x días antes de que venza el elemento, donde x es un número que pueden establecer los usuarios en su configuración personal de notificación.
  • Convertir notificaciones Debidas, cuya fecha ha pasado, en notificaciones Vencidas.
  • Enviar correos electrónicos de resumen a horas programadas. Los correos electrónicos de resumen salen una vez al día a la hora especificada por el administrador.
  • Eliminar los datos de recipientes "pasados". Pasado, en este contexto, quiere decir registros de destinatarios que llevan en el sistema x días, donde x representa un número que pueden configurar los administradores. De forma predeterminada, se define para conservas a los destinatarios durante un semestre entero. Esta operación se configura para ejecutarse una sola vez al día.
DistributionSendNotificationTask 60 Enviar notificaciones sin procesar a todos los distribuidores registrados.

NotificationRemoveStaleDataTask

Los administradores pueden establecer la antigüedad de las notificaciones cuando se realiza la limpieza en la página Configuración de notificación general.

Todas las notificaciones Debidas se transformarán en eventos Vencidos cuando pase su fecha de vencimiento. Entre ellos se incluyen: Actividad debida, Prueba debida, Elemento calificable debido y Sondeo debido.

La última función de esta tarea, eliminar datos de destinatarios pasados, se ejecuta una vez al día. Cada vez que se activa la tarea, comprueba si ha llegado la hora de ejecutarse. Si ha llegado, se ejecuta. La hora de la ejecución se especifica mediante la propiedad nautilus.staleDataRemove.executionTime en el archivo de configuración nautilus_config.properties.

Periodicidad de las tareas

Modificar la periodicidad de esta tarea tendrá los siguientes efectos:

  1. Cambiar la inmediatez con que las notificaciones Debidas se convierten en notificaciones Vencidas. En la configuración predeterminada, las notificaciones se transformarán un máximo de cinco minutos después de que se haya pasado su fecha de vencimiento.
  2. Cambiar la inmediatez con que se envían los recordatorios. En la configuración predeterminada, se distribuyen un máximo de cinco minutos después de la hora del recordatorio.
  3. Cambiar la inmediatez con que se ejecuta la tarea de eliminación de datos pasados. En la configuración predeterminada, se ejecuta dentro de los cinco minutos posteriores a la hora designada.

Consideraciones de rendimiento

El proceso de limpieza de notificaciones de esta tarea se ejecuta por la noche en el horario especificado mediante la propiedad nautilus.staleDataRemove.executionTime en el archivo de configuración nautilus_config.properties. De forma predeterminada, se define para ejecutarse una vez al día a la 1:00 a. m.

Esta consulta tiene un rendimiento muy intensivo porque, básicamente, analiza toda la tabla eud_item_recipient buscando notificaciones desactualizadas y eliminándolas.

Si le parece que esta tarea es una carga significativa para su sistema a pesar de todas estas precauciones, puede hacer algunas cosas:

  1. Cambie la hora de ejecución. Muchas instituciones tienen otras tareas de mantenimiento que se ejecutan de noche y si esta tarea entra en conflicto con ellas o conspira con ellas para poner en apuros al servidor de bases de datos, puede hacer que se ejecute a otra hora. Para ser claros: Blackboard recomienda con insistencia no ejecutarla durante el día o en cualquier momento en el que espere que la gente haga un uso intensivo del sistema.
  2. Adopte los pasos necesarios para reducir el tamaño del almacén de notificaciones. Cuantas menos notificaciones tenga, con más velocidad se ejecutará esta solicitud. Para ver sugerencias sobre cómo hacerlo, consulte Configuración del tamaño de las notificaciones.

DistributionSendNotificationTask

Para asegurarse de que esta tarea no se ejecuta durante un período de tiempo excesivo, solo trabaja con un número limitado de notificaciones en cualquier ejecución. Los administradores pueden configurar este parámetro en la propiedad nautilus.distribution.notificationsPerDistribution del archivo de configuración nautilus_config.properties. El ajuste predeterminado es 10.000.

Las tareas de distribución envían notificaciones a todos los distribuidores registrados. Para la mayoría de instituciones esto quiere decir que envía únicamente al distribuidor de correo electrónico. Cabe esperar que el rendimiento se vea algo degradado cuando se añada un nuevo distribuidor a la mezcla.

Periodicidad de las tareas

SI se cambia la periodicidad de esta tarea cambiará la frecuencia con la que el sistema envía notificaciones. En la configuración predeterminada, una notificación se distribuirá no después de una hora después de su introducción en el sistema. Los administradores del sistema pueden establecer el período en que las notificaciones se distribuyen en el sistema Learn editando el archivo tasks.xml de la carpeta BB_HOME/config/. El valor del período está en blackboard.platform.nautilus.service.internal.DistributionSendNotificationTask.

El número de notificaciones distribuidas por invocación también afecta al momento en que se enviará una notificación. Los administradores pueden configurar este parámetro en nautilus.distribution.notificationsPerDistribution del archivo de configuración nautilus_config.properties.

Consideraciones de rendimiento

Esta tarea se ejecuta con bastante frecuencia, pero establece un techo en el número de notificaciones que procesa en una única ejecución. Este enfoque de dos vías para la distribución permite al sistema enviar notificaciones poco después de que estén disponibles, sin empantanar al sistema cuando la carga de notificaciones es especialmente elevada, por ejemplo, al principio del semestre, cuando los cursos nuevos se empiezan a poner en línea.

Si el proceso de distribución supone un deterioro para el rendimiento, reduzca la periodicidad, de modo que dé prioridad al rendimiento en detrimento de la puntualidad. Si las distribuciones tardan demasiado, simplemente reduzca el número de anotaciones gestionadas en cada ejecución.

Como alternativa, si encuentra notificaciones que no llegan con la puntualidad necesaria, reduzca la periodicidad de esta tarea y el número de notificaciones que procesa por cada ejecución.

En el caso de algunos destinatarios solo se elimina el nombre. Esto significa que los registros que tengan asociados no desaparecerán, sino que simplemente quedarán marcados con el estado ELIMINADO.