Tengo un trabajo de cuarzo en Grails, que debe ejecutarse cada 5 s, pero lo necesito de forma secuencial. En algunas situaciones, la ejecución del trabajo excede estos 5 segundos; en este caso, no quiero que se ejecute mientras no se termine la excepción de. ¿Cómo configurar esto en Grails?¿Cómo prevenir la ejecución concurrente de un trabajo en Grails?
(Por supuesto, toda la magia se podría hacer con un indicador volátil estática, pero no es una forma muy elegante de hacer esto) (También cómo puedo configurar I para el trabajo para ser Singleton?)
THX
Sí, esta es la solución. Sin embargo, creo que esto no impide la acumulación continua de tareas en un queue ... – csviri
Entonces, ¿cómo evitar que la cola de tareas crezca hasta que OutOfMemory se ocupe? – csviri
A menudo desea que las tareas hagan cola, una tarea larga no debe impedir que otras personas la ejecuten cuando la tarea es de tipo "conteo" o "paso a paso". Si esto es realmente un problema, probablemente Quartz no es lo que quieres, lo que quieres es un hilo que se ejecute constantemente en un bucle. Si necesita limitarlo, puede poner un Thread.sleep (remainingTime) para retrasarlo. –