我试图弄清楚如何正确关闭异步 tweepy 流。
tweepy 流媒体模块可以在这里找到。
我像这样开始流:
stream = Stream(auth, listener)
stream.filter(track=['keyword'], async=True)
关闭应用程序时,我尝试关闭流,如下所示:
stream.disconnect()
此方法似乎按预期工作,但似乎有一个问题:流线程仍在循环中间(等待/处理推文)并且直到下一个循环才被杀死,所以当流收到推文时,即使在之后应用程序已关闭,它仍然尝试调用侦听器对象(这可以通过侦听器对象上的简单打印语法看到)。我不确定这是否是一件坏事,或者是否可以简单地忽略它。
我有两个问题:
- 这是关闭流的最佳方式还是我应该采取不同的方法?
- 不应该将异步线程创建为守护线程吗?