我目前正在使用twitty-twister将实时Twitter消息流式传输到长时间运行的应用中,但有时我需要重新启动流来更改跟踪参数。是否可以使用此库将此流与Twitter断开连接?
答案 0 :(得分:0)
在对这个问题进行一些研究后,我发现不可能“关闭”Twitter流。
解决方案是使用reactor.spawnProcess
在自己的进程中运行Twitty Twister脚本:
# spawnProcess requires you to implement a ProcessProtocol
class TwitterProcess(protocol.ProcessProtocol):
def outReceived(self, data):
print("TWITTER: ", data)
def errReceived(self, data):
print("TWITTER ERR: ", data)
def processEnded(self, reason):
print("twitter process ended.")
# later on...
args = ["python", "twitter_stream.py"] # add other args here if necessary
pp = TwitterProcess()
feedProcess = reactor.spawnProcess(pp, "python", args)
然后,如果你想关闭这个过程:
feedProcess.signalProcess("TERM")