2016-10-04 54 views
0

我有一個時間表應運行在每5分鐘。以下是我的Quartz調度源代碼。克倫觸發器與石英運行在每分鐘

IScheduler sched = container.Resolve<IScheduler>(); 
     sched.JobFactory = new AutofacJobFactory(container); 
     sched.Start(); 

     IJobDetail job = JobBuilder.Create<ProcessInvoiceJob>() 
       .WithIdentity("InvoiceJob") 
       .Build();    

     ITrigger trigger = TriggerBuilder.Create() 
      .WithCronSchedule("0 0/5 * * * ?")//every 5 minutes 
      .Build(); 

     sched.ScheduleJob(job, trigger); 

其實這段代碼在visual studio中可以正常工作。我有一個記錄器,每5分鐘記錄一次記錄。但是,當我在本地IIS服務器中發佈並作爲網站託管時,它會在每分鐘內運行該計劃。然後,我將cron時間表更改爲每6分鐘一次,每7分鐘一次等等。在此每次都在每分鐘內運行時間表。請給我一個方向解決問題....

技術我使用

MVC,C#,SQL服務器

+0

如果調用sched.Start();在sched.ScheduleJob(...)之後? – Set

回答

0

如果您不需要WithCronSchedule,我建議使用WithSimpleSchedule

ITrigger trigger = TriggerBuilder.Create() 
    .StartNow() 
    .WithSimpleSchedule(x => x 
     .WithIntervalInMinutes(5) 
     .RepeatForever()) 
    .Build();