2012-02-02 8 views
0

Quartz.netを使用してcronジョブをセットアップしましたが、起動しません。Quartz.netジョブが起動しない

アップロードした後、web.configに変更を加えてアプリケーションを再起動して、Application_Startメソッドを実行する必要があります。私もシンプルなトリガを使用してジョブをテストし、それが動作するので、何が起こっているか分からない。あなたのスケジューラを開始していない

void Application_Start(object sender, EventArgs e) 
    { 
     // Code that runs on application startup 
     // construct a scheduler factory 
     ISchedulerFactory schedFact = new StdSchedulerFactory(); 

     // get a scheduler 
     IScheduler sched = schedFact.GetScheduler(); 
     sched.Start(); 

     // construct job info 
     JobDetail jobDetail = new JobDetail("myJob", null, typeof(Recorder)); 
     jobDetail.JobDataMap["domain"] = "www.mydomain.com"; 
     jobDetail.JobDataMap["userId"] = "2"; 

     // Create trigger (everything is in UTC!!!) 
     CronTrigger cronTrigger = new CronTrigger("Schedule"); 
     cronTrigger.StartTimeUtc = TriggerUtils.GetEvenSecondDate(DateTime.UtcNow); 
     cronTrigger.TimeZone = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time"); // run in pacific timezone 
     cronTrigger.CronExpressionString = "0 30 13 ? * MON-FRI *"; 

     sched.ScheduleJob(jobDetail, cronTrigger); 
    } 





    public class Recorder : IJob 
    { 

     public void Execute(JobExecutionContext context) 
     { 
      JobDataMap dataMap = context.JobDetail.JobDataMap; 
      string domain = dataMap.GetString("domain"); 
      string userId = dataMap.GetString("userId"); 

      string url = "http://" + domain + "/record.aspx?userId=" + userId; 

      using (WebClient client = new WebClient()) 
      { 
       client.DownloadString(url); 
      } 

     } 
    } 

答えて

4

sched.Start(); 
+0

どうやら彼は、実際にライン#でポストには編集を9 –

+0

を使用していません。スケジュールの設定後に開始が必要なためかもしれません。 –

関連する問題