我有一个 Python 脚本,可以打开 Twitter API 的 websocket,然后等待。当事件通过 amq 传递给脚本时,我需要打开一个新的 websocket 连接并立即地新连接注册后立即关闭旧连接。
它看起来像这样:
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)
但看起来有点乱。有谁知道更好的方法来实现这一目标?
繁忙循环不是正确的方法,因为它显然会浪费 CPU。相反,有一些线程结构可以让您传达此类事件。参见示例:http://docs.python.org/library/threading.html#event-objects
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)