我当前项目中有一个要求,我需要实现NService总线调度程序.由于我是Nservice总线调度程序实现的新手,请举手,如果有任何人对此有所了解,请分享您对任何有用链接的想法也会有所帮助.
提前致谢
VIMAL
NserviceBus Scheduler非常容易使用.
举个例子,这是一个片段:
// 'Schedule' is an instance class that can be resolved from the container. // To send a message every 5 minutes schedule.Every(TimeSpan.FromMinutes(5), () => bus.Send(new CallLegacySystem())); // Name a schedule task and invoke it every 5 minutes schedule.Every(TimeSpan.FromMinutes(5), "MyCustomTask", SomeCustomMethod);
请注意,此调度程序是基于消息的,而不是基于时间的.这意味着当任务被安排在时间X执行时,它不会在时间X 执行,而是在那时排队.看到:
由于调度程序使用排队机制,因此它对计划任务的时间轴确实有一些副作用.当任务被安排在给定时间运行时,它不是"在那时执行",而是"在那个时间排队"以执行.在大多数情况下,这种区别对调度API的行为没有明显影响.但是,在高负载系统中,将计划任务添加到队列的后面这一事实可能导致"任务被请求运行的时间"和"任务实际执行的时间"之间的明显延迟.
如果您需要更多帮助,可以在此处找到文档并且非常详尽.