py-amqp/flopsy:在Python中等待单个amqp消息

py-amqp/flopsy:在Python中等待单个amqp消息,python,amqp,py-amqplib,flopsy,Python,Amqp,Py Amqplib,Flopsy,我有一个类似的问题:在py-amqp/flopsy中很容易说“我将永远等待,我希望在收到消息时调用此回调”,但我找不到任何方式来表示“好的,我收到了我想要的消息,现在停止等待。”(可能是GOTO?只是开玩笑…)有没有优雅的方式做到这一点?好的,也许这对我来说应该是显而易见的:如果你在flopsy(这是amqplib的一个薄包装)中注册一个回调 然后,您可以在callback\u func中引发一个异常,以进入代码的其余部分 奖金问题:如果从未收到响应,如何设置等待()的最大超时?假设这是在uni

我有一个类似的问题:在py-amqp/flopsy中很容易说“我将永远等待,我希望在收到消息时调用此回调”,但我找不到任何方式来表示“好的,我收到了我想要的消息,现在停止等待。”(可能是GOTO?只是开玩笑…)有没有优雅的方式做到这一点?

好的,也许这对我来说应该是显而易见的:如果你在flopsy(这是amqplib的一个薄包装)中注册一个回调

然后,您可以在
callback\u func
中引发一个异常,以进入代码的其余部分

奖金问题:如果从未收到响应,如何设置
等待()的最大超时?假设这是在
unittest
测试用例的上下文中

consumer.register('kind', callback_func)
consumer.wait()
# more code goes here...