我使用嵌入在我的asp.net应用程序中的quartz .net服务器,但总是进入待机模式。即使预定的cron作业处于NORMAL模式。
这些是我的调度程序属性:
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服务运行?
答案 0 :(得分:0)
将Quartz.net调度程序作为Windows服务运行似乎是最好的方法。
IIS的默认设置是在没有用户连接的情况下关闭任何ASP.net应用程序,这意味着您的调度程序不再运行。可以更改这些默认值(请参阅Can you prevent your ASP.NET application from shutting down?),但更好的方法是将调度程序编写为Windows服务。