コンソールアプリケーション用のQuartz.netの実用的な簡単な例を探しています(十分に単純である限り、他のアプリケーションでもかまいません...)。そして、私がそこにいる間、IJobDetail、ITriggerなどの実装を回避するのに役立つラッパーはありますか。
あなたとまったく同じ観察をした人がいて、彼はQuartz.netコンソールアプリケーションの簡単な実例を含むブログ投稿を公開しています。
以下は、Quartz.net 2.0(最新)に対して構築されたQuartz.netの動作例です。このジョブは、5秒ごとにコンソールに「HelloJobisexecute」というテキストメッセージを書き込みます。
Visual Studio2012プロジェクトを開始します。 Windows Console Application
を選択します。名前を付けるQuartz1または好きな名前を付けます。
要件NuGet
を使用してQuartz.NET
アセンブリをダウンロードします。プロジェクトを右クリックし、「Nugetパッケージの管理」を選択します。次に、Quartz.NET
を検索します。見つかったら、選択してインストールします。
using System;
using System.Collections.Generic;
using Quartz;
using Quartz.Impl;
namespace Quartz1
{
class Program
{
static void Main(string[] args)
{
// construct a scheduler factory
ISchedulerFactory schedFact = new StdSchedulerFactory();
// get a scheduler, start the schedular before triggers or anything else
IScheduler sched = schedFact.GetScheduler();
sched.Start();
// create job
IJobDetail job = JobBuilder.Create<SimpleJob>()
.WithIdentity("job1", "group1")
.Build();
// create trigger
ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("trigger1", "group1")
.WithSimpleSchedule(x => x.WithIntervalInSeconds(5).RepeatForever())
.Build();
// Schedule the job using the job and trigger
sched.ScheduleJob(job, trigger);
}
}
/// <summary>
/// SimpleJOb is just a class that implements IJOB interface. It implements just one method, Execute method
/// </summary>
public class SimpleJob : IJob
{
void IJob.Execute(IJobExecutionContext context)
{
//throw new NotImplementedException();
Console.WriteLine("Hello, JOb executed");
}
}
}
ソース
ドキュメントとソースコードのサンプルの間には、始めるのに十分なはずです。カスタムジョブを作成するときに実装する必要がある唯一のインターフェイスはIJob
です。他のすべてのインターフェイスはすでに実装されているか、quartz.netでの基本的な使用には必要ありません。
jobBuilderおよびTriggerBuilderヘルパーオブジェクトを使用するためのジョブとトリガーを構築します。