2010-09-06 15 views
14

estoy usando cuarzo Programador v.1.8.0.¿Cuál es la diferencia entre el modo de espera del programador() y pauseAll()?

¿Cuál es la diferencia entre scheduler.standby() y scheduler.pauseAll()?

espera() - detiene temporalmente despido de disparadores del Programador.

pauseAll() - pausa todos los disparadores - similar a llamar pauseTriggerGroup (grupo) en cada grupo , sin embargo, después de usar este método resumeAll() debe ser llamado a estado clara del planificador de ' recordar' que todos los factores desencadenantes nuevos se detuvieron a medida que se añaden.

En base a lo que he entendido por la documentación de la API, no soy capaz de diferenciar/distinguir fácilmente de cada uno de ellos. Veo que ambos sirven para el mismo propósito: pausar/detener temporalmente todos los desencadenantes en el programador, y luego seguir un start() (para el modo de espera) o resumeAll() (para pauseAll) para borrar el estado del planificador ¿Hay alguna otra diferencia?

expertos esperanza puede ayudar en la comprensión de cualquier diferencia sutil.

Respuesta

16

La diferencia está en el comportamiento de aplicación de fallas de encendido del gatillo.

Cuando llame a start() después del modo en espera(), se ignorarán los fallos de encendido, que aparecen en modo de espera.

Cuando llame a resumeAll() después de pauseAll(), se aplicarán todas las fallas de encendido, que aparecen cuando se pausó el planificador.

+1

Esto es incorrecto. si llama al modo de espera() y luego al inicio(), los disparos al disparador se ignorarán solo durante la ejecución del inicio(), y no funcionarán durante toda la duración de la llamada al modo de espera() y al inicio(). – pkrish

6

Hay una diferencia cuando el planificador se reanuda después de standby y pauseAll.

He hecho la diferencia en negrita en la siguiente descripción de los documentos de la API.

espera:

vacío de espera() tiros SchedulerException detiene temporalmente despido de disparadores del Programador.

Cuando se llama a start() (para llevar el planificador de modo stand-by), instrucciones de fallo de encendido gatillo no se aplicarán durante la ejecución del método inicio() - cualquier fallos serán detectado inmediatamente después (mediante un proceso normal la de JobStore).

El programador no se destruye, y se puede reiniciar en cualquier momento.

pauseAll:

vacío pauseAll() lanza SchedulerException pausa todos los disparadores - similar a llamar pauseTriggerGroup (grupo) en cada grupo , sin embargo, después de usar este método resumeAll() debe llamarse al borrar el estado del planificador de 'recordando' que todos los nuevos activadores se pausarán a medida que se agreguen.

Cuando se invoca a restartAll() (a sin pausa), se aplicarán las instrucciones de fallo de disparo .

0

start() y standby() son métodos por instancia. Otras instancias que se ejecutan en modo agrupado continuarán desencadenando trabajos.

resumeAll() y pauseAll() es aplicable a todo el clúster.

0

Mientras pauseAll() pausas todos los horarios (ya creada por ese momento), standby() pausas un planificador sí. Por lo tanto, cuando crea una nueva programación, después de pauseAll(), se programará y ejecutará adecuadamente, pero en el caso de standby() no se ejecutará antes de que se llame a un método 'start()' en un programador.

Cuestiones relacionadas