Я реализовал класс, который подключается к веб-сокету для получения асинхронных сообщений.
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 имеет функцию on_message()
, которая действует как обратный вызов, который срабатывает при каждом получении нового сообщения.
Я не хочу время от времени вызывать функцию для GET
самого последнего msg
из веб-сокета для брокера, вместо этого я хочу PUSH
эти сообщения брокеру, как только они поступят в on_message()
.
broker = Broker()
hearbeats = broker.heartbeat()
for beat in heartbeats:
...
Как я могу решить это лучше всего в Python? Я ищу способ отправить новое сообщение, приходящее с websocketClient
s on_message()
на heartbeat()
, чтобы в основном приложении я мог подписаться на эту функцию и ждать обновлений.