Quartz.net 调度程序将进入待机状态

本文关键字:待机 状态 net 调度程序 Quartz | 更新日期: 2023-09-27 18:31:32

我正在使用嵌入在 asp.net 应用程序中的石英.net服务器,但总是进入待机模式。即使在正常模式下计划了 cron 作业。

这些是我的调度程序属性:

var properties = new NameValueCollection();
        properties["quartz.dataSource.DataSource.connectionString"] = "data source=connectionstring";
        properties["quartz.dataSource.DataSource.provider"] = "SqlServer-20";
        properties["quartz.scheduler.instanceName"] = "MyScheduler";
        properties["quartz.threadPool.type"] = "Quartz.Simpl.SimpleThreadPool, Quartz";
        properties["quartz.threadPool.threadCount"] = "5";
        properties["quartz.threadPool.threadPriority"] = "Normal";
        properties["quartz.jobStore.type"] = "Quartz.Impl.AdoJobStore.JobStoreTX, Quartz";
        properties["quartz.jobStore.driverDelegateType"] = "Quartz.Impl.AdoJobStore.StdAdoDelegate, Quartz ";
        properties["quartz.jobStore.tablePrefix"] = "QRTZ_";
        properties["quartz.jobStore.dataSource"] = "DataSource";
        properties["quartz.jobStore.useProperties"] = "true";
        return new StdSchedulerFactory(properties);

如何让它始终运行?我需要将其作为 Windows 服务运行吗?

Quartz.net 调度程序将进入待机状态

将 Quartz.net 调度程序作为Windows服务运行似乎是最好的方法。

IIS 的默认设置是,如果没有用户连接到任何 ASP.net 应用程序,则关闭这些应用程序,这意味着您的计划程序不再运行。可以更改这些默认值(请参阅是否可以阻止 ASP.NET 应用程序关闭?),但更好的方法是将调度程序编写为 Windows 服务。