NService Bus调度程序上的示例项目

时间:2016-01-06 11:01:17

标签: nservicebus

我当前项目中有一个要求,我需要实现NService总线调度程序。由于我是Nservice总线调度程序实现的新手,请举手,如果有任何人对此有所了解,请在任何有用的链接上分享您的想法也会有所帮助。

提前致谢

VIMAL

1 个答案:

答案 0 :(得分:5)

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 执行,而是在那个时候排队。参见:

  

由于调度程序使用排队机制,因此它对计划任务的时间轴有一些副作用。当一个任务被安排在给定的时间运行时,它不会在那个时间执行#34;而是在那个时间排队等等#34;被执行。在大多数情况下,这种区别对调度API的行为没有明显影响。然而,在高负载系统中,将计划任务添加到队列的后面这一事实可能导致在任务被请求运行的时间与#34;之间出现明显的延迟。并且"任务实际执行的时间"。

如果您需要更多帮助,可以找到文档here并且非常详尽。