Wil*_*lco 15 python multithreading tweepy
我正在试图找出如何正确关闭异步tweepy流.
可以在这里找到tweepy流模块.
我像这样开始流:
stream = Stream(auth, listener)
stream.filter(track=['keyword'], async=True)
Run Code Online (Sandbox Code Playgroud)
关闭应用程序时,我尝试关闭流,如下所示:
stream.disconnect()
Run Code Online (Sandbox Code Playgroud)
这个方法似乎按预期工作但似乎有一个问题:流线程仍然在循环的中间(等待/处理推文)并且直到下一个循环才被杀死,所以当流接收到推文时甚至之后应用程序已关闭,它仍然尝试调用侦听器对象(这可以通过侦听器对象上的简单打印语法看到).我不确定这是不是坏事,或者它是否可以简单地被忽略.
我有两个问题:
这是设计使然。查看源代码,您会注意到断开连接没有立即终止选项。
def disconnect(self):
if self.running is False:
return
self.running = False
Run Code Online (Sandbox Code Playgroud)
当调用disconnect()时,它只是设置self.running = False,然后在_run方法的下一个循环中检查它
您可以忽略这个副作用。
| 归档时间: |
|
| 查看次数: |
7305 次 |
| 最近记录: |