c# - 失败作业的 Quartz.NET JobListener

标签 c# quartz.net

在我基于 Quartz.NET 的应用程序中,我有一个 JobListener,它审计所有执行到审计表的作业。但是,我也希望监听器能够在任何类型的错误发生时进行检测,这样我就可以捕获它并通过电子邮件发送一个错误的电子邮件地址,并且可能会找到特定的错误(即我的程序移动文件,所以错误可能是一条不存在的路径)。

我如何监听失败的作业,以及是否有可能检测是否存在大量错误,在那种情况下只发送几封电子邮件,而不是针对每个错误发送一封电子邮件?

最佳答案

要检测何时发生任何类型的错误,您需要实现一个监听器,一个作业监听器或一个触发器监听器,或者您可能需要两者:http://quartznet.sourceforge.net/tutorial/lesson_7.html

您可以通过在您创建的 IScheduler 对象上调用方法来附加监听器。

我们为汇总多封电子邮件所做的是使用日志系统,特别是 NLog .我们使用 BufferingWrapper围绕 Mail target以便在记录了一些指定数量的事件(例如 200)后或在最后一次记录错误(例如 2 分钟)后指定的超时期限过去后发送错误日志。

关于c# - 失败作业的 Quartz.NET JobListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3831357/

相关文章:

.net - 如何设置 Quartz.NET 线程池中的线程数?

c# - 在 ASP.NET Core RC2 应用程序中定期运行后台任务

c# - Quartz.Net - 更新/删除作业/触发器

c# - 创建文件后发生文件共享冲突?

c# - 如何获得 LINQ to SQL submitchanges 的百分比?

c# - 每个 VST SDK 似乎都适用于 C++,那么 C# 呢?

c# - C# 中的纯虚方法?

c# - .NET 连接目录和 DirectInfo 问题

c# - 如何创建一个设置为太平洋标准时间午夜的 DateTimeOffset

c# - 如何将 Quartz.NET 与 ASP.NET Core Web 应用程序一起使用?