我正在尝试使用Quartz.net,这可能会解决我的问题。但是我似乎找不到在一天中给定时间(07:30)开始工作的方法,以毫秒(1)的间隔运行多次(1000)。
我尝试过CronSchedule,但是无法设置间隔。使用SimpleSchedule时,无法设置开始时间,而使用DailyTimeIntervalSchedule时,我无法设置间隔(以毫秒为单位)。我也尝试将一个设置与varoius和流畅的api结合起来,没有用。
我尝试在Quartz.net中实现的功能实际上是不可能的?
答案 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基础设施也会花时间观察火灾时间和实例化工作。