La guía o código que encontrarás en este post es la resolución más rápida y válida que hallamos a esta inquietud o problema.
Solución:
Suponiendo que está utilizando el complemento de cuarzo de griales, debería poder configurar el concurrent
propiedad de su clase de trabajo a false
.
De la documentación del complemento de cuarzo:
“De forma predeterminada, los trabajos se ejecutan de manera simultánea, por lo que la ejecución de un nuevo trabajo puede comenzar incluso si la ejecución anterior del mismo trabajo todavía se está ejecutando. Si desea anular este comportamiento, puede usar la propiedad ‘concurrente’, en este caso StatefulJob de Quartz será usó”
En versiones más recientes del complemento de cuarzo (versión 2.0.13 para Grails 3.3.*), se vería así:
class MyJob
static concurrent = false
void execute()
println "Job run!"
Para versiones anteriores de griales/cuarzo, se vería similar, excepto que las propiedades se establecieron con def
en vez de static
:
class MyJob
def concurrent = false
void execute()
println "Job run!"
Haga que su clase de trabajo implemente StatefulJob en lugar de Job
Para trabajos basados en Quartz, la concurrencia se logra usando
static concurrent = false
en la clase de trabajo.
Nota la static
en la definiciónesto es necesario en lugar de def concurrent = false
al menos desde la versión 2.0.12. Consulte la documentación de Quartz.
Te mostramos las comentarios y valoraciones de los usuarios
Si haces scroll puedes encontrar las explicaciones de otros gestores de proyectos, tú además puedes mostrar el tuyo si lo crees conveniente.