C# Quartz.net计划程序内存泄漏

C# Quartz.net计划程序内存泄漏,c#,nhibernate,windows-services,quartz.net,spring.net,C#,Nhibernate,Windows Services,Quartz.net,Spring.net,我有一个调度程序windows服务在服务器上运行,每个作业有不同的调度时间 出现了两个问题: 在一周内,服务正常运行,执行所有必须执行的作业,但在特定时间内,每次作业运行时,它都会在日志文件中抛出OutofMemoryException 在运行此调度器服务的服务器中,任务管理器只是增加内存,而不是清理内存。要清除内存,计划程序服务将重新启动 我不知道是否有办法通过代码解决这个问题 感谢您的建议石英应自行清洁。 如果您实现了自定义JobFactory,请确保在执行后释放作业。我在这里写作,因为我已

我有一个调度程序windows服务在服务器上运行,每个作业有不同的调度时间

出现了两个问题:

  • 在一周内,服务正常运行,执行所有必须执行的作业,但在特定时间内,每次作业运行时,它都会在日志文件中抛出OutofMemoryException

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

  • 我不知道是否有办法通过代码解决这个问题


    感谢您的建议

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

    我在这里写作,因为我已经找到了上述问题的解决方案。GitHub上有一个项目提供了示例代码,但您可能需要根据自己的需要进行调整,该项目提供了使用Quartz作业设置AutoFac所需的所有内容。这是你的电话号码

    这包括两个主要特点:

    Autofac.Extras.Quartz为每个Quartz作业创建嵌套的litefime作用域。嵌套作用域在作业执行完成后被释放

    这允许每个作业执行一个实例,以及资源的确定性处理


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

    Hey@Alex,你找到解决办法了吗?我在使用quartz的调度器服务时也遇到了类似的情况。不,我没有找到任何解决方案,我们决定使用Azure webjobs代替quartz,以下是我们使用的一些信息