Dentro de Anjana Data Platform existen múltiples procesos batch que se ejecutan de forma desatendida de forma automática conforme a la periodicidad que se configure en la tabla de variables del sistema (AppConfiguration
) del Portal de configuración. Algunos ejemplos son el batch de comprobación de roles cross o el batch de expiración.
Para configurar la programación se emplean expresiones cron de Spring. Estas expresiones se componen de 6 elementos que determinan la frecuencia de ejecución:
-
El primer elemento hace referencia a los segundos (Puede adquirir valores entre
0
y59
).-
Acepta
*
para indicar para indicar que se ejecuta para todos los posibles valores.
-
-
El segundo elemento hace referencia a los minutos (Puede adquirir valores entre
0
y59
).-
Acepta
*
para indicar para indicar que se ejecuta para todos los posibles valores.
-
-
El tercer elemento hace referencia a las horas (Puede adquirir valores entre
0
y23
).-
Acepta
*
para indicar para indicar que se ejecuta para todos los posibles valores.
-
-
El cuarto elemento hace referencia al día del mes (Puede adquirir valores entre
1
y31
).-
Acepta
?
para dejar el campo libre si ya se definió el día de la semana. -
Acepta
*
para indicar para indicar que se ejecuta para todos los posibles valores.
-
-
El quinto elemento hace referencia al mes del año (Puede adquirir valores entre
1
y12
).-
Acepta
*
para indicar para indicar que se ejecuta para todos los posibles valores.
-
-
El sexto elemento al día de la semana (Puede adquirir valores entre
0
y7
, tanto0
como7
representan domingo, los demás números van de1
=lunes hasta6
=sábado).-
Acepta
?
para dejar el campo libre si ya se definió el día del mes. -
Acepta
*
para indicar para indicar que se ejecuta para todos los posibles valores.
-
Ejemplos:
-
Si se configura la expresión
0 0 8 * * *
el batch se ejecutará todos los días a las 8am . -
Si se configura la expresión
0 30 9 1 * ?
el batch se ejecutará a las 9:30 am el día 1 de cada mes.
Otras convenciones que se siguen:
-
Las comas se pueden usar para separar los elementos de una lista (por ejemplo: 1,15, el 1 y el 15).
-
Se puede usar el - para expresar un rango de elementos (por ejemplo: de 8-10, de 8 a 10, ambos incluidos). El rango siempre incluye los extremos.
Para más ejemplos ver la documentación oficial: Spring Cron Expressions.
Comprobación de roles transversales (cross)
El batch de comprobación de roles transversales o cross se configura en la tabla de AppConfiguration
mediante la propiedad:
anjana.scheduling.notification se usa para configurar la tarea programada para avisar de roles Cross mal configurados (por defecto: 0 0 0 ? * *).
El campo application
de la tabla AppConfiguration
debe ser ‘zeus’.
Licencia a punto de expirar
El batch para el aviso de licencia a punto de expirar en la tabla de AppConfiguration
mediante la propiedad:
anjana.scheduling.licenseNotification se usa para configurar la tarea programada para enviar notificaciones por licencia a punto de expirar o expirada (por defecto = 0 0 0 ? * * ).
El campo application
de de la tabla AppConfiguration
debe ser ‘zeus’.
Expiración
El batch de expiración se configura en la tabla de AppConfiguration
mediante la propiedad: :
anjana.scheduling.expiration se usa para configurar la expiración de objetos (por defecto: 0 45 7 ? * *).
El campo application
de la tabla AppConfiguration
debe ser ‘kerno’.
Preaviso por expiración
El batch de preaviso por expiración se configura en la tabla de AppConfiguration
mediante las propiedades:
-
anjana.scheduling.notification se usa para configurar la notificación de objetos próximos a expirar (por defecto: 0 45 7 ? * *).
-
anjana.notification.expiration se usa para configurar, en número de días, los objetos que van a expirar dentro de ese rango (por defecto: 4).
El campo application
de la tabla AppConfiguration
debe ser ‘kerno’.
Indexación
El batch de indexación de todos los objetos (entidades y relaciones) se configura en la tabla de AppConfiguration
mediante la siguiente propiedad:
anjana.scheduling.indexAll se usa si se quiere configurar la indexación periódica de todos los objetos de la aplicación (con las excepciones mencionadas en la Guía de Usuario). Esta configuración está, por defecto, desactivada.
El campo application
de de la tabla AppConfiguration
debe ser ‘minerva’.