servicestack.redis:所有mq请求处理程序的一个线程池?

qyswt5oh  于 2021-06-09  发布在  Redis
关注(0)|答案(1)|浏览(515)

在前面的一个so问题中,我询问redismqserver是否有办法为所有处理程序/DTO拥有一个共享线程池,而不是每个处理程序至少有一个专用线程。对于许多处理程序,我们会产生许多线程,每个处理程序都会受到分配给它的线程数的限制。
例如,对于100个处理程序,将至少有100个线程,但每个类型/处理程序一次只能处理1个请求(每个默认值)。我看到过这样的情况:特定的dto比其他dto使用得更多,但我希望处理程序从公共池中获取线程,而不是用如下调用锁定一个特定的处理程序:

mqService.RegisterHandler<PostStatusTwitter>(ExecuteMessage, noOfThreads:10);

迈兹回答说
您只需使用c#并将registerhandler Package 到您自己的扩展方法后面,该扩展方法将按照您的意愿对其进行配置。
我想请一些投入在这里,因为我不知道这将需要什么。我简要回顾了redismqserver代码,但在我看来,需要一些重写来实现我想要的东西?

bcs8qyzn

bcs8qyzn1#

redis mq不支持“所有mq请求处理程序的一个线程池”。
前面的链接答案解释了redismq是如何设计的,其中每个消息类型(即请求dto)的线程数是可配置的。

相关问题