Quartz plugin permite a nuestras aplicaciones Grails tener la capacidad de programar tareas que se ejecutaran utilizando un intervalo especifico de tiempo o bien mediante un cron.
En el sistema operativo Unix, cron es un administrador regular de procesos en segundo plano (demonio) que ejecuta procesos o guiones a intervalos regulares (por ejemplo, cada minuto, día, semana o mes). Los procesos que deben ejecutarse y la hora en la que deben hacerlo se especifican en el fichero crontab. El nombre cron viene del griego chronos (χρόνος) que significa "tiempo".
Instalando Quartz plugin
Para instalar quartz plugin únicamente basta con agregar la siguiente línea en la sección plugins de nuestro BuildConfig.groovy
compile ":quartz:1.0.2"
Programando tareas
Para crear una nueva tarea se ejecuta el comando “grails créate-job” seguido del nombre de nuestra tarea. Grails creará una nueva tarea y la dejara en el directorio “grails-app/jobs”.
Después de ejecutar el comando nuestra tarea programada se verá así:
class TareaProgramadaJob { static triggers = { simple repeatInterval: 5000l // execute job once in 5 seconds } def execute() { // execute job } }
Como podemos observar hay un trigger que le indica a la tarea que se debe ejecutar cada 5 segundos, también podemos establecer una hora específica por medio de un cron, haciendo los cambios quedaría de la siguiente manera:
class TareaProgramadaJob { static triggers = { cron name: 'ejemplo', cronExpression: "00 00 02 * * ?" } def execute() { // execute job println "esta tarea se ejecutará todos los días a las 2 am" } }
Así establecemos que debe ejecutarse todos los días a las 2 de la mañana. Para entender a detalle la cronExpression les dejo la siguiente tablita:
No hay comentarios:
Publicar un comentario