Probablemente una pregunta estúpida ... pero aquí va de todos modos ...manija en Quartz.net
que han establecido cuarzo, y pueden programar trabajos, y puedo confirmar que los trabajos (que implementa la interfaz IJob) estan trabajando.
En cuanto a la documentación en el sitio, (lección 3 del tutorial):
El único tipo de excepción que se le permite a pasos de La método de ejecución es
JobExecutionException
.
Me gustaría que cuando se produce una excepción que no he manejado explícitamente, se debe lanzar una JobExecutionException, para que pueda iniciar sesión en la aplicación 'principal'. He envuelto mi código en una captura de prueba, y he lanzado JobExecutionException, pero ¿ahora dónde manejarlo?
No llamo al método de ejecución en ningún lado, que es manejado por Quartz (en un hilo separado). Entonces, ¿cómo manejo ese error cuando ocurre? Realmente no quiero tragar el error en el Trabajo
OK, investigué un poco más, y parece que JobListener es lo que estoy buscando. Ahora para descubrir cómo manejaría la excepción. – tardomatic
annnnnd .... sin suerte.incluso con un oyente, la aplicación se bloquea al lanzar una excepción. ¡AYUDA! – tardomatic
@ tardomatic: si tiene un escucha de trabajo conectado a un nombre de trabajo/grupo, se llamará al oyente independientemente de si el trabajo tiene éxito o falla. Después de arrojar una JobExecutionException (en función de que detecte un error), Quartz considerará que el trabajo no está completo (por definición, Quartz considera que un trabajo está completo * a menos que * dispare una JobExecutionException). Ahora, cuando está en el método JobWasExecuted() del oyente, puede verificar el parámetro JobExecutionException para ver si está configurado. Ahora sabe si el trabajo falló y, opcionalmente, puede realizar tareas de limpieza, etc. antes de volver a ejecutar el trabajo en el futuro. – Matt