Saltar al contenido

¿Cómo interrumpir o detener el trabajo de cuarzo que se está ejecutando actualmente?

Solución:

Necesita escribir su trabajo como una implementación de InterruptableJob. Para interrumpir este trabajo, debe manejar al Programador y llamar interrupt(jobKey<<job name & job group>>)

Por favor, eche un vistazo a @ javadoc para las clases anteriores, también la distribución de cuarzo contiene un ejemplo para esto (ejemplo7).

En Quartz 2.1 con Spring puedes:

@Autowired
private Scheduler schedulerFactoryBean; //injected by spring
...
...

List<JobExecutionContext> currentlyExecuting = schedulerFactoryBean.getCurrentlyExecutingJobs();

//verifying if job is running       
for (JobExecutionContext jobExecutionContext : currentlyExecuting) {
    if(jobExecutionContext.getJobDetail().getKey().getName().equals("JobKeyNameToInterrupt")){
        result = schedulerFactoryBean.interrupt(jobExecutionContext.getJobDetail().getKey());
    }
}
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *