2013-01-04 118 views
0

我正在嘗試Quartz.net,它可能會解決我的問題。然而,我似乎無法找到一種方法在一天中的某個特定時間(07:30)開始工作,以毫秒(1)的間隔運行若干次(1000次)。Quartz.net工作在指定時間每天以毫秒間隔開始

我試過CronSchedule,但間隔時間不能設置。使用SimpleSchedule時,無法設置開始時間,並且使用DailyTimeIntervalSchedule,我無法設置以毫秒爲單位的時間間隔。我也試着將流式api中的設置與varoius結合起來,不加avale。

我在Quartz.net中試圖實現的是不可能實現的嗎?

+0

你真的想在一秒內以毫秒爲間隔運行1000次嗎?您是否嘗試過測試Quartz.net是否能以此速率執行作業? – sgmoore

+0

我認爲它可以,因爲可以用SimpleScheduele設置以毫秒爲單位的時間間隔,但是我沒有對它進行基準測試或者任何其他測試來觀察實際性能。 這是一個「簡單」的負載測試。 – Andreas

回答

2

這可能是你所追求的:

IJobDetail theJobToRun = JobBuilder.Create<NoOpJob>().Build(); 
var trigger = TriggerBuilder.Create() 
         .StartAt(DateBuilder.DateOf(7, 30, 0)) 
         .WithSimpleSchedule(x => x 
             .WithInterval(TimeSpan.FromMilliseconds(1)) 
             .WithRepeatCount(999)) 
         .ForJob(theJobToRun) 
         .Build(); 

正如sgmoore注意,你可能無法得到精確到毫秒爲你的線程池與工作飽和,這一切都取決於他們有多少工作真。 Quartz.NET基礎架構也將花費自己的時間來觀察火災時間和實例化工作。

+1

不應該是.WithRepeatCount(999)? – sgmoore

+0

解決了它。感謝Marko Lahma @sgmoore,您的999次執行1000次處決。也感謝你! – Andreas

+0

修復重複次數,謝謝。 –