【问题标题】:Quartz.NET does not execute nor raise error for a jobQuartz.NET 不执行也不引发作业错误
【发布时间】:2019-02-27 13:57:44
【问题描述】:

使用 Quartz.NET 3.0.6,“格式错误”的作业详细信息定义被传递给调度,因此作业没有执行,也没有引发错误。

Job Detail 将一个参数作为 bool (ignoreHeaderRow) 而不是字符串 (ignoreHeaderRow.ToString()) 传递,将参数更改为字符串修复了问题并执行了作业。

IJobDetail job = JobBuilder.Create<ImportJob>()
.WithIdentity("Immediate" + DateTime.UtcNow.ToFileTime(), GROUP_NAME)
.UsingJobData("InfolinxSession", JsonConvert.SerializeObject(session))
.UsingJobData("unprintable", unprintable.ToString())
.UsingJobData("ignoreHeaderRow", ignoreHeaderRow.ToString())
.Build();

QuartzScheduler.ScheduleJob(job);

有没有办法捕捉到这种情况?

【问题讨论】:

    标签: jobs quartz.net execute raise


    【解决方案1】:

    当作业抛出异常时,Quartz.NET 会记录所有执行错误。您可以启用logging(liblog 抽象挂钩到 NLog、log4net、Serilog)并使用现代日志聚合系统监视日志并发出警报。

    其他选项是将scheduler listener 附加到调度程序以侦听调度程序错误,然后对错误执行一些操作,例如 Slack 通知或任何适合您需要的错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多