2009-03-06 11 views
20

Tengo un trabajo de cuarzo que funcionaba todos los días a las 7 p.m. De repente, no pudo correr. Reviso mi server.log y no hay ninguna excepción lanzada. Alguien tiene alguna idea de lo que podría ser el problema?Quartz Scheduler deja de funcionar repentinamente y no hay error de excepción

Gracias de antemano

+0

¿Podría publicar algún código que se esté utilizando para configurar el trabajo de cuarzo? –

+0

¿Alguna solución? Tengo el mismo problema. – kaptan

Respuesta

2

Si está utilizando una base de datos para almacenar los trabajos, comprobar el trigger_state de su disparador. En este momento estoy viendo un problema similar (o al menos tiene síntomas similares).

Un trabajo que se ejecuta una vez por minuto deja el activador en estado "ADQUIRIDO" y nunca volverá a ejecutarse. Como tú, no estoy viendo nada, el registro.

También estoy viendo una causa diferente del mismo problema. De nuevo, el trabajo simplemente deja de ejecutarse, pero el activador no está en el estado "ADQUIRIDO". Hasta ahora no sé la causa.

Lo que sé hasta ahora es que el hilo del programador está esperando un hilo de trabajo libre. Parece que todos los subprocesos de trabajo están esperando un semáforo para actualizar su programación. Todavía no he podido obtener un volcado de subprocesos para verificar qué están esperando los subprocesos de trabajo.

Estoy ejecutando Quartz 1.6.1 RC1. Ver este informe de error: http://jira.opensymphony.com/browse/QUARTZ-668

Creo que eso es lo que estoy viendo.

2

Compruebe si algún trabajo arroja una excepción. Ponga su código de trabajo exe en un bloque try catch y trace cualquier excepción para solucionar el problema.

12

tuve un problema similar, pero el problema era que tenía 10 hilos de cuarzo número predeterminado de hilos en las propiedades del cuarzo y cuando hice volcado hilo * descubrí que tengo 10 puestos de trabajo en bloquearon stat, lo que significa que no puede ejecutar más hilos.

Una solución rápida a este problema para aumentar el número de subprocesos en el grupo de subprocesos en las propiedades de cuarzo.

La solución real era revisar mi código para saber por qué tenía 10 hilos bloqueados.

* hacer volcar el hilo se puede utilizar número de muertes -3 < proceso java> la que se imprime el volcado de hilo para su aplicación en la salida estándar es decir, si se ejecuta Tomcat lo encuentras en catalina.out archivo de registro

0

Tuve un problema similar pero algo diferente. Mi planificador funciona bien en el entorno de desarrollo. En este planificador estoy haciendo los trabajos como actualizar las transacciones, etc.

Cuando movemos la compilación a producción, los planificadores funcionaron bien y todo estuvo bien hasta el sábado. El sábado, mi planificador se detuvo de repente. No encontré ninguna excepción relacionada con el programador en mi servidor de aplicaciones (OC4J).

Estoy usando la versión de cuarzo-1.5.2. No puedo rastrear la causa real del problema.

Estoy comenzando el planificador al inicio del servidor de aplicaciones. Si algo sale mal, entonces deja de funcionar. Entonces no tengo ninguna posibilidad de iniciarlos.

Creo que si inicio los programadores llamando al servlet init usando alguna solicitud jsp, hace la diferencia. Será como ver el perfil (estado de nuestros programadores e iniciarlos de nuevo). Si tiene un mejor enfoque para iniciar el programador, por favor sugiérame.

+1

si sus trabajos estuvieron funcionando bien por algún tiempo, entonces no debería tratarse de cómo iniciar el programador. Supongo que deberías tomar un volcado de hebras y hechizos y ver dónde está atascado. Tampoco vale la pena la diferencia entre las configuraciones dev y prod, pero comienza con los volcados de subprocesos. – aishwarya

-1

Sí, lo que aumenta el número de subprocesos de 7 a 10 en quartz.properties parece resolver este problema.

6

En mi caso, tenía una conexión abierta a la base de datos. Cuando no tenía más conexiones disponibles, mis hilos seguían esperando por siempre. Como no podía comenzar ningún otro trabajo, no pasó nada y todo quedó bloqueado. Mi consejo es que compruebe si tiene algún recurso de bloqueo que pueda necesitar liberar.

+0

en nuestro caso sucedió cuando ocurrió una conexión perdida –

Cuestiones relacionadas