1

我们有使用以下配置运行石英的 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);
4

1 回答 1

0

我认为您必须像这样更改MVC 管理器的配置:

<quartz>
    <add key="quartz.scheduler.instanceId" value="AUTO" />
    <add key="quartz.threadPool.type" value="Quartz.Simpl.ZeroSizeThreadPool, Quartz" />
    <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>

我已将 ThreadPool 类型更改为ZeroSizeThreadPool并删除

<add key="quartz.threadPool.threadCount" value="10" />
<add key="quartz.threadPool.threadPriority" value="Normal" />

你可以在这里找到更多信息。

于 2012-09-19T10:23:14.040 回答