在Rebus中,有没有一种方法可以按顺序处理消息来控制消息的处理?即第一个处理,然后删除然后第二个处理等
答案 0 :(得分:1)
是 - 否:)
首先,我只是想说,您最好尽一切力量设计系统,使其能够容忍重新排序的邮件。如果您的系统能够以一致的状态结束,即使一段时间内一个或多个消息停留在错误队列中,您将会更加快乐。
当我说'#34;容忍重新排序的消息"时,我并不一定意味着"所有消息都是完全随机的顺序" ...更像是"稍微重新排序"和/或"其中一些需要按顺序排列,但可以容忍其中许多重新排序"。在合理范围内。
听起来像你的要求非常严格 - 而实现这一点的唯一方法是让一个单独的线程(并行性为1)处理消息,丢弃(或移动到队列的后面,如果消息很重要)预计不会是下一个消息。
如果将消息移动到队列的后面太粗糙(如果你有很多消息,或者它们经常无序到达,它会变慢),你可以使用一个传奇来排队消息,直到你有权利消息,在那个时候你可以做你需要做的事。
我希望这是有道理的:)如果不清楚,请告诉我。