在Python中连接两个守护进程的最佳方式是什么?
我有守护进程A和B。我想在A的模块中接收B生成的数据(可能是双向的)。这两个守护进程都支持插件,所以我想关闭插件中的通信。最好的跨平台方式是什么?
我从低级解决方案中了解的机制很少-共享内存(C/C++)、linux管道、套接字(TCP/UDP)等,以及少数高级队列(JMS、Rabbit)、RPC。
这两个守护进程应该在同一台主机上运行,但显然更好的方法是从连接类型中抽象出来。
python中的典型解决方案/库是什么?我正在寻找一个优雅和轻量级的解决方案。我不需要外部服务器,只需要两个相互通信的进程。
我应该在python中使用什么来做到这一点呢?
发布于 2012-06-24 06:17:29
您可以使用套接字进行进程通信:http://docs.python.org/howto/sockets.html
远程过程调用也适用于此: Python XML RPC http://docs.python.org/library/xmlrpclib.html或Google Protobuf http://code.google.com/p/protobuf/ https://developers.google.com/protocol-buffers/docs/pythontutorial
发布于 2012-06-25 16:54:07
我不确定你的流量有多大,但我会推荐asyncore包。它使用起来相当简单,而且它是基于套接字的。
我很久以前就用它做了一个命令模式。如果你感兴趣,我可以找出代码。
https://stackoverflow.com/questions/11173032
复制相似问题