Usage of a dedicated thread per Message Type is per design so throughput can be controlled per Type, sequential processing can be enforced and processing is isolated from long tail of other lower priority MQ Messages delaying processing of higher priority ones.
You can reduce number of sleeping threads by having fewer MQ Types, i.e. combining multiple MQ Tasks into a single union type whose Service implementation can delegate into invoking their different individual services.
Mixing Threadpool MQ Server strategies will not happen with the existing implementation, it requires a completely new implementation with different behavior & design goals.
I’ll leave this feature request open in-case anyone decides to implement a different MQ Server strategy and can post a link to their implementation here.
10 votesTed Ekeroth supported this idea ·
A Community ServiceStack + Blazor template that supports .NET 5.0 is available:
An error occurred while saving the commentTed Ekeroth commented