我有长时间运行的消息处理程序,所以我需要选择取消它。我需要知道NServiceBus是否提供了任何设计方法。
什么是替代解决方案?
答案 0 :(得分:0)
NServiceBus,尽管在很多方面都很棒,但它没有提供任何内置的方法来取消消息处理,就像后台任务运行器一样。
但是,您可以从处理程序调用类似hangfire的内容,它确实提供了这种脱机任务管理。尽管它设计用于IIS,但它可以托管在另一个容器中,例如windows service。
作为对这个答案的编辑,我发现hangfire实际上并没有取消已经开始的工作,至少不是整齐的方式。您可以删除正在进行的作业,但这没有取消语义,因为在某些情况下,hangfire服务器不会处理队列中的其他作业(例如,如果您正在运行单线程)。