环境: Python,鼠兔,兔子。在
我有一个已经有100条消息的队列。 当两个消费者应用程序相继启动时,所有预先存在的消息都将由第一个使用者处理,而不是分布在正在启动并等待消息的两个使用者之间。在
然而,添加到队列中的任何新消息都会在两个使用者之间分发。 问题是,如果消费者花费很长时间来处理,那么在消费来自队列的初始预先存在的消息之前,加载都在一个消费者身上。在
但是,如果Consumer1被杀死,消息将被传递到Consumer2(这是预期的)
我正在使用SelectionConnect
prefetch_count=(tried both 0 and 1),
prefetch_size = 0,
no_ack = False,
有没有一种方法可以配置成这样,队列中预先存在的消息将在多个使用者之间共享,即使这些使用者将在不同的时间启动(例如,随着负载的增加,根据负载添加更多的使用者)。在
感谢任何帮助。 非常感谢。在
我可以通过移动基本的\uqos调用来修复这个问题,将prefetch count设置为1 on_channel_create call back方法。在
由于某些原因,在基本的“使用”之前将“预取”值设置为1是不够的。一定和鼠兔的io循环有关。在
相关问题 更多 >
编程相关推荐