我有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)