Quartz.Netの使用(簡易構成方法)タイミングタスクフレームワーク

1692 ワード

Quartz.Netは、非常に柔軟なタイミングタスクを実現するタイミングタスクフレームワークであり、開発者は少量のコードを書くだけで「1時間おきに実行」、「毎日22時に実行」、「毎月18日の午後8回実行」などの各種タイミングタスクを実現することができる.
Quartz.Netの概念:プランナー(IScheduler)、ワーク(IJob)、トリガ(Trigger).に与える
計画者1人
仕事、彼を
Trigger(どんな条件でこのことをするか)がトリガした条件でこれを実行します.
さぎょう
時間通りに実行するタスクのコードをIJobインタフェースを実装するExecuteメソッドに書き込めばよく,時間が来るとExecuteメソッドが呼び出される.
CrondTriggerは、Crond式で設定されたトリガであり、SimpleTriggerなどの簡単なトリガもあります.TriggerUtilsのMakeDailyTrigger、MakeHourlyTriggerなどの方法で呼び出しを簡略化できます.コードリファレンスコメントを呼び出します.
初期化タイミングと終了タイミングのコードはどこに置きますか(Application_Start,Application_End)
1.まずbinフォルダでQuartzを参照する.Netのdllファイル
Common.Logging.dll,Quartz.dll
2.GlobalファイルのApplication_Start.
//            
            int indexStartHour = Convert.ToInt32(ConfigurationManager.AppSettings["IndexStartHour"]);
            int indexStartMin = Convert.ToInt32(ConfigurationManager.AppSettings["IndexStartMin"]);


            ISchedulerFactory sf = new StdSchedulerFactory();//   
            sched = sf.GetScheduler();

            JobDetail job = new JobDetail("job1", "group1", typeof(TestJob));//TestJob    IJob    ,(    ,  ,   )
            Trigger trigger = TriggerUtils.MakeDailyTrigger("tigger1", indexStartHour, indexStartMin);//  10 00   
            trigger.JobName = "job1";
            trigger.JobGroup = "group1";
            trigger.Group = "group1";

            sched.AddJob(job, true);
            sched.ScheduleJob(trigger);
            sched.Start();


3.Application_End時
sched.Shutdown(true);//終了時にオフ
4.具体的に実行するコードはTestJobのpublic void Execute(JobExecutionContext context)メソッドで