ServiceStack.Redis:一个线程池用于所有 MQ 请求处理程序?

ServiceStack.Redis: One thread pool for all MQ request handlers?

中,我询问是否有一种方法可以让 RedisMqServer 为所有 Handlers/DTOs 拥有一个共享线程池,而不是每个处理程序至少有 1 个专用线程。有很多处理程序,我们产生很多线程,每个处理程序将受到分配给它的线程数的限制。

例如 100 个处理程序,将至少有 100 个线程,但每个 type/handler 一次只能处理 1 个请求(默认情况下)。我预见到特定 DTO 将比其他 DTO 使用得更多的情况,但我希望处理程序从公共池中获取线程,而不是通过以下调用锁定一个特定的处理程序:

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

Mythz回答说

You can just use C# and wrap RegisterHandler behind your own extension method that configures it how you want.

我想在这里征求一些意见,因为我不确定这会带来什么。我简要回顾了 RedisMqServer 代码,但在我看来,需要一些重写才能实现我想要的?

Redis MQ 不支持"One thread pool for all MQ request handlers"。

explains how Redis MQ 设计为每个消息类型(即请求 DTO)可配置线程数。