1
私はQuartznetスケジューラーを初めて使用しています。 "CalendarIntervalTriggerImpl"トリガを実装しようとしています。私はトリガーに渡された日付( 2010年の日)を設定します。Job.Executeは、渡されたStartTimeUTCでジョブをスケジューリング中にすぐにトリガーします。
Jobdetail &トリガーを渡してScheduleJobメソッドを呼び出すと、直ちにJob.Executeメソッドがトリガーされます。私は に何かがないかどうか。私を正しい方法で案内してください。あなたは失火命令を設定しない場合
次のサンプルコードを見てください
、class Program
{
private static IScheduler _scheduler;
static void Main(string[] args)
{
Console.WriteLine(DateTime.Now.Day);
ISchedulerFactory schedulerFactory = new StdSchedulerFactory();
_scheduler = schedulerFactory.GetScheduler();
_scheduler.Start();
AddJob();
}
public static void AddJob()
{
IJob myJob = new MyJob(); //This Constructor needs to be parameterless
JobDetailImpl jobDetail = new JobDetailImpl("Group1", "Group1", myJob.GetType());
CalendarIntervalTriggerImpl trigger = new CalendarIntervalTriggerImpl("Group1", "Group1", IntervalUnit.Week, 2);
trigger.StartTimeUtc = DateTime.Now.AddDays(-3).AddSeconds(15);
_scheduler.ScheduleJob(jobDetail, trigger);
Console.WriteLine("Next : {0}", trigger.GetNextFireTimeUtc().Value.ToLocalTime());
}
}
internal class MyJob : IJob
{
public void Execute(IJobExecutionContext context)
{
Console.WriteLine("Executing the job...");
}
}