关闭Twitty Twister Stream

时间:2012-05-30 19:44:48

标签: python twitter twisted twitter-streaming-api

我目前正在使用twitty-twister将实时Twitter消息流式传输到长时间运行的应用中,但有时我需要重新启动流来更改跟踪参数。是否可以使用此库将此流与Twitter断开连接?

1 个答案:

答案 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")