在我基于 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/