是否有可能在某个时间点停止 twython 流媒体



我有twython流媒体的代码,它正在工作。

定义read_cred(文件): in_handle = 打开(文件,'r')

cred = {}
for ln in in_handle:
    data = ln.strip('rn').split('=')
    if len(data) > 1:
        key = data[0].strip(' ').lower()
        value = data[1].strip(' ')
        cred[key] = value
    else:
        print "error in parsing credentials file"
return cred

cred = read_cred(sys.argv[1])

class MyStreamer(TwythonStreamer): def on_success(自我,数据): 行为(数据)

def on_error(self, status_code, data):
    print status_code, data

stream = MyStreamer(cred['consumer_key'], cred['consumer_secret'], 信任[access_token_key"], 信任[access_token_secret])

关键字 = sys.argv[2]

stream.statuses.filter(track=keywords)

但是,我想在 django 框架中创建一个由"开始"和"停止"按钮组成的 UI。当我点击"停止"按钮时,我应该怎么做才能停止 twython 流媒体?可以给我一些简单的例子吗?

只要停止按钮绑定到应用程序的其余部分(我没有使用过 Django,所以我不能提供一个简单的例子),那么调用 sys.exit() 应该可以完成这项工作。

Django 可能有一些其他方法来终止内置的进程或其文档中的一些特定示例。 您应该检查以确认此答案。

您可以使用 disconnect() 函数,如 Twython - https://twython.readthedocs.org/en/latest/api.html#twython.TwythonStreamer.disconnect 的文档中所述

    def on_stop(self, status_code, data):
            self.disconnect()
    def on_start(keywords):
            stream = MyStreamer(cred['consumer_key'], cred['consumer_secret'],
                     cred['access_token_key'], cred['access_token_secret'])
            stream.statuses.filter(track=keywords)

最新更新