2015-03-31 30 views

回答

0

那麼這樣的事情會做的伎倆

IScheduler sched; 
private void ConfigureScheduler() 
{ 
int nbweeks = 1; 
int n = 24*7*nbweeks; 
var schedFact = new StdSchedulerFactory(); 
sched = schedFact.GetScheduler(); 
var job = new JobDetailImpl("weeklyjob", null, typeof(Type)); 
var timeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("W. Europe Standard Time"); 
var trigger = TriggerBuilder.Create() 
          .StartNow() 
          .WithSimpleSchedule(x=>x.RepeatForever().WithIntervalInHours(n)) 
          .Build(); 

sched.ScheduleJob(job, trigger); 
sched.Start(); 
} 

根據您的需要只是改變nbweeks,它會運行一週每n

該解決方案將每月觸發一次的第14天(第2周),你可以改變第二週的一天,請你

IScheduler schedd; 
private void ConfigureScheduler() 
{ 
    var schedFact = new StdSchedulerFactory(); 

    schedd = schedFact.GetScheduler(); 
    var job = new JobDetailImpl("weeklyJob", null, typeof(Type)); 
    var timeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time"); 
    var cronScheduleBuilder = CronScheduleBuilder.MonthlyOnDayAndHourAndMinute(14, 12, 0); 
    var trigger = TriggerBuilder.Create() 
           .StartNow() 
           .WithSchedule(cronScheduleBuilder) 
           .Build(); 

    sched.ScheduleJob(job, trigger); 
    sched.Start(); 
} 

更新 該代碼會觸發每個月

IScheduler schedd; 
private void ConfigureScheduler() 
{ 
    var schedFact = new StdSchedulerFactory(); 

    schedd = schedFact.GetScheduler(); 
    var job = new JobDetailImpl("weeklyJob", null, typeof(Type)); 
    var timeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time"); 
    var cronScheduleBuilder = CronScheduleBuilder.CronSchedule("0 0 12 ? 1/1 MON#2 *"); 
    var trigger = TriggerBuilder.Create() 
           .StartNow() 
           .WithSchedule(cronScheduleBuilder) 
           .Build(); 

    sched.ScheduleJob(job, trigger); 
    sched.Start(); 
} 
+0

這是以小時爲單位的間隔。我怎樣才能每隔一週運行一次? – 2015-03-31 09:50:37

+0

你有n = 24 * 7(每天24小時,每週7天,這不會改變),你可以得到你想要的東西,我一直在使用這個解決方案,天和星期 – Coder1409 2015-03-31 09:54:25

+0

這會每隔兩週觸發一次?不是每個月的第二週。我需要每個月的第二個星期的表達。請幫忙 – 2015-03-31 10:09:14

相關問題