推荐的Python发布/订阅/发送模块?

Eli*_*sky 25 python publish-subscribe pypubsub

来自PyPubSub:

Pypubsub为您的Python应用程序提供了一种简单的方法来解耦其组件:应用程序的某些部分可以发布消息(有或没有数据),其他部分可以订阅/接收它们.这允许消息"发件人"和消息"听众"彼此不知道:

  • 一个不需要导入另一个
  • 发件人不需要知道
    • "谁"得到消息,
    • 听众会对数据做些什么,
    • 或者即使任何听众都会收到消息数据.
  • 同样,听众也不必担心消息的来源.

这是实现模型 - 视图 - 控制器架构或促进其组件解耦的任何类似架构的绝佳工具.

似乎有相当多的Python模块用于在Web上发布/订阅,从PyPubSub到PyDispatcher,再到简单的"自制"类.

比较不同的模块时是否有特定的优点和缺点?哪些模块已经过基准测试和比较?

提前致谢

zub*_*ber 15

PyDispatcherDjango中被大量使用,它对我来说非常有效(对于整个Django社区,我猜).

我记得,有一些性能问题:

  • PyDispatcher进行的参数检查很慢.
  • 未使用的连接有不必要的开销.

AFAIK你不太可能在中小型应用程序中遇到这个问题.所以这些问题可能与您无关.如果你认为你需要每一磅性能(过早优化是所有邪恶的根源!),你可以看看在Django中对PyDispatcher所做的修改.

希望这可以帮助.