我实现了一个类,该类连接到Websocket以接收异步消息。
class websocketClient(...):
def on_message(self, msg): # Gets automatically called
notifyBrokerAbout(msg) # How to proceed from here?
class Broker():
self.websocket = websocketClient(...)
self.websocket.start()
def heartbeat(self):
return self.websocket
心跳功能启动websocket并返回它。 websocket类本身具有on_message()
函数,该函数充当每次接收到新消息时都会触发的回调。
我不想不时调用函数,以将最新消息GET
从websocket发送到Broker,而是将msg
这些消息发送到到达PUSH
的经纪人。
on_message()
如何用Python最好地解决这个问题?我正在寻找一种将broker = Broker()
hearbeats = broker.heartbeat()
for beat in heartbeats:
...
s websocketClient
处收到的新消息推送到on_message()
的方法,以便在主应用程序中我可以订阅该功能并等待更新。
答案 0 :(得分:1)
这可以使用反应堆模式来解决-异步处理请求,然后进行同步调度。
通过搜索“反应堆gevent”和“扭曲的反应堆”,您会找到许多很好的示例。有几种变体。由于总的选择将取决于示例代码中未发现的其他系统级问题,因此我将避免建议使用特定的版本。