gpt4 book ai didi

Python 类之间的异步通信

转载 作者:行者123 更新时间:2023-12-01 09:18:32 26 4
gpt4 key购买 nike

我已经实现了一个连接到 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

heartbeat函数启动websocket并返回它。 websocket 类本身有一个 on_message() 函数,该函数充当回调,每次收到新消息时都会触发该回调。

我不想时不时地调用函数来GET将最新的msg从websocket发送到Broker,而是想PUSH 这些消息一到达 on_message() 就立即发送给 Broker。

broker = Broker()
hearbeats = broker.heartbeat()

for beat in heartbeats:
...

enter image description here

如何用 Python 最好地解决这个问题?我正在寻找一种方法将 websocketClients on_message() 传入的新消息推送到 heartbeat(),以便在主应用程序我可以订阅该功能并等待更新。

最佳答案

这可以使用 react 器模式来解决——异步处理请求,然后同步调度。

通过搜索“reactor gevent”和“reactortwisted”,您会发现许多很好的示例。有几种变体。我将避免推荐特定的变体,因为总体选择将取决于示例代码中不明显的其他系统级问题。

关于Python 类之间的异步通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51010732/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com