【发布时间】:2012-05-31 22:16:21
【问题描述】:
我有一个现有的应用程序,它通过排队传输将消息从一个进程发送到另一个进程。我想通过延迟处理消息来改变消息的处理方式,并让队列更多地充当优先级队列,其中应首先在队列顶部处理消息。
IE:
在时间 0,消息 A 延迟 15 分钟发送到队列。 5 分钟后,消息 B 发送到队列,延迟 10 分钟。 处理队列的服务随后崩溃并且在 15 分钟内没有重新启动。 当队列再次开始处理时,消息 B 将在顶部,然后是消息 A。
在 C# / MSMQ / .NET 生态系统中有这样的东西吗?
【问题讨论】:
-
MSMQ 消息在发送时可以被赋予优先级,在接收时优先。 stackoverflow.com/questions/1310414/…
-
Erm 如果没有崩溃,会先处理消息 A 吗?
-
我不只是想要一个优先级,我基本上想做一个模拟。此消息在 30 分钟内不会被处理,如果没有其他更高优先级的消息可用,则不会立即处理。