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

时间:2013-09-17 11:02:58

标签: c# asp.net .net quartz-scheduler quartz.net

我使用嵌入在我的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服务运行?

1 个答案:

答案 0 :(得分:0)

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

IIS的默认设置是在没有用户连接的情况下关闭任何ASP.net应用程序,这意味着您的调度程序不再运行。可以更改这些默认值(请参阅Can you prevent your ASP.NET application from shutting down?),但更好的方法是将调度程序编写为Windows服务。