AdoJobStoreを使用できます。
Quartz.netは、データベースに格納されているジョブ、トリガー、およびこれらのオブジェクトの状態をプレフィックスQRTZ_
(必要に応じて変更できます)のテーブルセットを使用します。
私はあなたのスケジュールに関する詳細情報を保持する予定のあなたのDBにテーブルを持っていたいと思いますか?
Quartz.netが提供するAPIを使用するため、Quartz.netテーブルに直接アクセスすることはありません。
ジョブの詳細とトリガーを作成するプロセスは簡単で、tutorialsで非常によく説明されています。
AdoJobStoreを使用するようにアプリを設定するには、app.configファイルに情報をほとんど指定する必要がありません。ここで は一例です:
<quartz>
<add key="quartz.scheduler.instanceName" value="myApp" />
<add key="quartz.scheduler.instanceId" value="MyApp" />
<!-- Configure Thread Pool -->
<add key="quartz.threadPool.type"
value="Quartz.Simpl.SimpleThreadPool, Quartz" />
<add key="quartz.threadPool.threadCount" value="10" />
<add key="quartz.threadPool.threadPriority" value="Normal" />
<!-- Configure Job Store -->
<add key="quartz.jobStore.misfireThreshold" value="60000" />
<add key="quartz.jobStore.type"
value="Quartz.Impl.AdoJobStore.JobStoreTX, Quartz" />
<add key="quartz.jobStore.useProperties" value="true" />
<add key="quartz.jobStore.dataSource" value="default" />
<add key="quartz.jobStore.tablePrefix" value="QRTZ_" />
<add key="quartz.jobStore.lockHandler.type"
value="Quartz.Impl.AdoJobStore.UpdateLockRowSemaphore, Quartz" />
<add key="quartz.dataSource.default.connectionString"
value="Server=SVSQL2008;Database=QuartzNet1;Trusted_Connection=True;" />
<add key="quartz.dataSource.default.provider" value="SqlServer-20" />
</quartz>
WebアプリケーションまたはサービスまたはWinフォームアプリでQuartz.netをホスティングしている場合によっては心に留めておくべき点がいくつかあります。 ベスト・アプローチは、SchedulerFactoryとSchedulerをシングルトンとして作成することです。 さらに多くの情報を集めることができますhere。
UPDATE:あなたはQuartz.netテーブルを作成する必要があります(Step 1を参照)、その後、あなたがoptiomizationためのいくつかのインデックスを作成する必要がありますすべての
まず(pageの下を参照してください)。
ウェブアプリケーションを使用してジョブを送信しますが、そのアプリケーションをquartz.netイベント(トリガー)に使用していないので、スケジューラーを開始する必要はありません。 あり、この側面に従うようにいくつかの手順です:あなたは
<add key="quartz.threadPool.type"
value="Quartz.Simpl.ZeroSizeThreadPool, Quartz" />
ZeroSizeThreadPool
にスレッドプールの種類を変更する必要があり は、あなたのStdSchedulerFactoryとスケジューラのシングルトンを定義する必要があります。アプリケーション(asp.net)ブートストラップ中に起動することができます。
スケジューラを起動することは決してありません(あなたのWindowsサービスはこれを使用します)。
覚えておくべきもう1つのことは、ウェブとWindowsサービスの間であなたのjobを共有する必要があるということです。別のアセンブリに保管することをお勧めします。
あなたは、いくつかの情報をテーブルの1つに保存していると述べました。 Quartz.netテーブルで保持されるジョブとトリガーをサブミットする必要があります。
ご返信ありがとうございます。データベースには、ビジネスのすべてのジョブ情報を格納する単一のテーブルがあります。スケジューラはWindowsサービスで実行されており、ASP.NETアプリケーションを介してジョブがこのテーブルに追加または編集されます。では、このケースでQuartz.NETをどのように使用できますか?ジョブが追加または編集されるたびに、スケジューラを更新する必要があります。 – Dnana
@Dnana:WindowsサービスかQuartz.net Windowsサービスですか? – LeftyX
.net windowsサービス。この場合、どちらが良いかはわかりません。 – Dnana