У меня есть сценарий Python, который открывает веб-сокет для API Twitter и затем ждет. Когда событие передается в сценарий через amq, мне нужно открыть новое соединение с веб-сокетом и немедленно закрыть старое, как только новое соединение будет зарегистрировано.
Это выглядит примерно так:
stream = TwitterStream()
stream.start()
for message in broker.listen():
if message:
new_stream = TwitterStream()
# need to close the old connection as soon as the
# new one connects here somehow
stream = new_stream()
Я пытаюсь понять, как установить «обратный вызов», чтобы уведомить мой сценарий о том, когда будет установлено новое соединение. В классе TwitterStream есть логическая переменная is_running, на которую я могу ссылаться, поэтому я подумал, возможно, примерно так:
while not new_stream.is_running:
time.sleep(1)
Но это кажется немного запутанным. Кто-нибудь знает лучший способ добиться этого?