Quartz.Net をダウンロードし、古いドキュメントを読んで、正しいと思われる以下のコードに行き着きました。(違っていたら教えてください)
これを ASP.Net アプリケーションの Application_Start に配置すると、コードは実行されますが、ジョブは実行されません。Quartz をシングルトンとして設定することについてどこかで読んだと思いますが、ここでそれを行ったかどうかわかりませんか?
これを毎日 9.00 に実行するように設定したいのですが、今のところ StartNow を使用して動作を確認しています。
私がしなければならないことを教えてください。
private void StartScheduler()
{
ISchedulerFactory schedulerFactory = new StdSchedulerFactory();
IScheduler scheduler = schedulerFactory.GetScheduler();
scheduler.Start();
IJobDetail jobDetail = JobBuilder
.Create()
.OfType(typeof(DBCleanUpJob))
.WithIdentity(new JobKey("test", "1"))
.Build();
var trigger = Quartz.TriggerBuilder.Create()
.ForJob(jobDetail)
.WithIdentity(new TriggerKey("test", "1"))
.WithSimpleSchedule()
.StartNow()
.Build();
//.WithDailyTimeIntervalSchedule(x=>x.StartingDailyAt(new TimeOfDay(09,00)));
scheduler.ScheduleJob(jobDetail, trigger);
}
public class DBCleanUpJob : IJob
{
private IDocumentSession DocumentSession;
public DBCleanUpJob(IDocumentSession DocSession)
{
DocumentSession = DocSession;
}
#region IJob Members
public void Execute(IJobExecutionContext context)
{
throw new NotImplementedException();
}
#endregion
}