同步AMQP发布

我知道有很多库,在python中实现AMQP支持。 我需要的是一个库,它允许我以同步方式执行AMQP发布,因为它将从WSGI应用程序中使用,所以通常的异步回调驱动的与队列代理交互的风格将是有点不合适。

系统的其他部分使用pika进行AMQP支持,但它是异步的,即使存在某种“阻塞”连接,我宁愿不使用它。

当然,如果一切都失败了,每个WSGI进程都可以维护一个Pika事件循环。 另一个问题是,我在当前的Pika稳定版中发现了一些令人讨厌的(IMO)错误,我宁愿使用别的东西。

重申:

  • 我需要做basic.publish(“确认”支持!以便我知道消息何时未实际发布)
  • 以同步的方式
  • 对于rabbitmq(显然,“纯粹的”AMQP也可以工作)
  • 从一个python WSGI应用程序

  • 我的理解是,你可以使用RabbitMQ的RPC进行同步调用。 因为你已经有了pika,所以你应该没有太多的努力来采用它。


    我建议你查看芹菜使用的底层库Kombu。 Kombu和Celery通常很容易与Django和Flask(基于Werkzeug)集成,所以你不应该有任何问题与你的WSGI应用程序集成。


    你在pika文档站点测试了示例代码吗?

    有一个部分叫做:同步编程风格,没有并发http://pika.github.com/communicating.html#synchronous-programming-style-no-concurrency

    它看起来像你想要的是一种RPC风格的调用。 您可以在http://www.rabbitmq.com/tutorials/tutorial-six-python.html找到一个很好的同步示例

    链接地址: http://www.djcxy.com/p/34195.html

    上一篇: Synchronous AMQP publish

    下一篇: AMQP v.1.0 Exchange Definition missing