Quartz.NET不会为作业执行也不会引发错误

问题描述 投票:0回答:1

使用Quartz.NET 3.0.6,传递了“格式错误”的作业详细信息定义以进行调度,因此作业未执行且未引发错误。

作业详细信息将一个参数传递为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个回答
0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.