Quartz.net Scheduler内存泄漏

时间:2016-09-16 15:42:49

标签: c# nhibernate windows-services quartz.net spring.net

我在服务器中运行了一个调度程序窗口服务,每个作业都有不同的调度时间。

出现了两个问题:

  1. 在一周内,服务运行正常,完成所有必须执行的工作,但在某些时候,每次作业运行时,它都会在日志文件中抛出OutofMemoryException。

  2. 在运行此调度程序服务的服务器中,任务管理器只是增加内存而不是清除内存。要清理内存,调度程序服务将重新启动。

  3. 我不知道是否有办法通过代码来解决这个问题。

    感谢您的建议

2 个答案:

答案 0 :(得分:0)

石英应该自行清洁。 如果您实现了自定义JobFactory,请确保在执行后释放您的作业。

答案 1 :(得分:0)

我在这里写作,因为我找到了上述问题的解决方案。 GitHub上有一个项目,其中包含示例代码,但您可能需要根据需要进行调整,这些项目具有使用Quartz作业设置AutoFac所需的所有必要条件。这是link

这包括两个主要特征:

  

Autofac.Extras.Quartz为每个Quartz作业创建嵌套的litefime范围。在作业执行完成后处理嵌套作用域。

     

这允许每个作业执行单个实例以及确定性地处理资源。

当然,这将有助于其他一些面临同样问题的人。

相关问题