gpt4 book ai didi

python - Tweepy。让流永远运行

转载 作者:太空宇宙 更新时间:2023-11-03 13:41:44 25 4
gpt4 key购买 nike

我对 tweepy python 库比较陌生。我想确保我的流 python 脚本始终在远程服务器上运行。因此,如果有人能分享有关如何实现这一目标的最佳实践,那就太好了。

现在我是这样做的:

if __name__ == '__main__':

while True:

try:

# create instance of the tweepy tweet stream listener
listener = TweetStreamListener()

# set twitter keys/tokens
auth = OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)

# create instance of the tweepy stream
stream = Stream(auth, listener)

stream.userstream()
except Exception as e:
print "Error. Restarting Stream.... Error: "
print e.__doc__
print e.message
time.sleep(5)

我在每个方法上返回 False:on_error()、on_disconnect()、on_timeout()。因此,通过返回 False,流会停止,然后在无限循环中重新连接。

最佳答案

这是我的工作方式,它已经运行了将近一年,在两台计算机上处​​理导致流在这里和那里停止的错误。

#They don't need to be in the loop.
auth = OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)

while True:
listener = TweetStreamListener()
stream = Stream(auth, listener, timeout=60)

try:
stream.userstream()

except Exception, e:
print "Error. Restarting Stream.... Error: "
print e.__doc__
print e.message

要确保它永远运行,您应该重新定义 on_error 方法来处理重新连接尝试之间的时间。你的 5 秒 sleep 会阻碍你成功重新连接的机会,因为 Twitter 会看到你尝试这样做太频繁了。但这是另一个问题。

关于python - Tweepy。让流永远运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29582080/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com