如何在 python 应用程序中使用两个事件循环
Posted
技术标签:
【中文标题】如何在 python 应用程序中使用两个事件循环【英文标题】:How to use two event loops in python application 【发布时间】:2014-08-11 10:13:36 【问题描述】:假设我有一个使用 zmq 传入和传出消息的类。 我想用 RPC 来控制它,为它制作一个远程外观。
我该怎么做?
class Processor()
def init()
state = AddHeaderState() # There is more states of course
zmq_sender = create_zmq_sender()
def set_state(state):
...
def process(message):
output = state.process(message)
zmq_sender.send(output)
因此,通过该示例,可以说我想远程更改状态。
如果我将 zerorpc 添加到其中,我将无法使用 zmq 传入和传出消息,反之亦然,对吗? 这个例子我的问题更清楚了吗?
【问题讨论】:
你知道this吗? 我已阅读文档。所以呢? groups.google.com/forum/#!topic/zerorpc/_LdFqXI76rU 嗯,它是一个基于 ZMQ 的 RPC,文档解释了如何通过大量 grate 示例使用它。那么你能缩小问题的范围吗? 我添加了一些伪代码,也许对你有帮助。 你在标题中提到的两个循环是什么? 【参考方案1】:我是否正确假设您想要并排/同时运行两个发送通道?有一整套section in zguide 专门用于多线程。我发现 taskwork2: Parallel task worker with kill signalling 示例在 Handling Errors and ETERM 部分很有用。
如果我猜错了,你可能想用一张图来澄清一下。 PlantUML 让您做到这一点。 On my Github 是考虑到 ZMQ 的流量控制示例。
【讨论】:
以上是关于如何在 python 应用程序中使用两个事件循环的主要内容,如果未能解决你的问题,请参考以下文章