【发布时间】:2012-09-19 18:23:14
【问题描述】:
我们有使用以下配置运行石英的 Windows 服务。我们还有一个具有相同设置的 mvc 应用程序,用于维护集群的作业和触发器。但由于某种原因,作业和触发器正在被删除,即使该作业是持久的。
<quartz>
<add key="quartz.scheduler.instanceId" value="AUTO" />
<add key="quartz.threadPool.type" value="Quartz.Simpl.SimpleThreadPool, Quartz" />
<add key="quartz.threadPool.threadCount" value="10" />
<add key="quartz.threadPool.threadPriority" value="Normal" />
<add key="quartz.jobStore.misfireThreshold" value="60000" />
<add key="quartz.jobStore.type" value="Quartz.Impl.AdoJobStore.JobStoreTX, Quartz" />
<add key="quartz.jobStore.tablePrefix" value="support.QRTZ_" />
<add key="quartz.jobStore.dataSource" value="myDS" />
<add key="quartz.jobStore.useProperties" value="true" />
<add key="quartz.jobStore.clustered" value="true" />
<add key="quartz.jobStore.clusterCheckinInterval" value="15000" />
<add key="quartz.dataSource.paymentsDS.connectionString" value="connString" />
<add key="quartz.dataSource.paymentsDS.provider" value="SqlServer-20" />
</quartz>
Windows 服务启动
IScheduler scheduler = _schedulerFactory.GetScheduler();
scheduler.JobFactory = _jobFactory;
scheduler.Start();
MVC 管理器
IScheduler scheduler = _schedulerFactory.GetScheduler();
scheduler.AddJob(jobDetail, false);
【问题讨论】:
-
您真的看到作业被添加到 Sql 数据库吗?他们是否有可能一开始就没有到达那里,例如,如果 MVC 管理器无权访问 SQL 数据库,或者它正在与不同的服务器通信等?如果它们确实进入了数据库,它们会在什么时候被删除?
标签: c# quartz-scheduler quartz.net quartz.net-2.0