Quartz.net作业每天在给定时间以毫秒间隔开始

时间:2013-01-04 09:50:31

标签: quartz.net

我正在尝试使用Quartz.net,这可能会解决我的问题。但是我似乎找不到在一天中给定时间(07:30)开始工作的方法,以毫秒(1)的间隔运行多次(1000)。

我尝试过CronSchedule,但是无法设置间隔。使用SimpleSchedule时,无法设置开始时间,而使用DailyTimeIntervalSchedule时,我无法设置间隔(以毫秒为单位)。我也尝试将一个设置与varoius和流畅的api结合起来,没有用。

我尝试在Quartz.net中实现的功能实际上是不可能的?

1 个答案:

答案 0 :(得分: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基础设施也会花时间观察火灾时间和实例化工作。