Исключение при получении работы с использованием IJobListener (Quartz.NET) - PullRequest
0 голосов
/ 28 октября 2010

Я использую IJobListener в Quartz.NET для аудита всех успехов / неудач работы.При сбое задания я хочу, чтобы исключение было занесено в IJobListener, чтобы исключение также можно было сохранить для последующего анализа.

В настоящее время мой прослушиватель заданий выглядит следующим образом:

public virtual void JobWasExecuted(JobExecutionContext context, JobExecutionException x)
        {

}

Нодаже если все транзакции в методе Execute для задания заключаются в попытку с помощью catch (Exception x), который я затем выбрасываю, символ x для JobExecutionException никогда не заполняется.

Существует ли особый способна самом деле получить исключение для слушателя работы?

Спасибо

1 Ответ

5 голосов
/ 28 октября 2010

Вы просто бросаете исключение? Вы пытались обернуть его в правильный тип, который ожидает JobWasExecuted?

public virtual void Execute(JobExecutionContext context)
{
    try 
    {
      //divide by zero... or something else that causes an exception
    }
    catch (Exception e)
    {
      JobExecutionException je = new JobExecutionException(e);
      je.RefireImmediately = true;  //do something with the exception
      throw je;  //throw JobExecutionException
    }
}
...