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 に答える