我有一个Python 3脚本,该脚本使用Twitter的Tweepy库,该库在本地运行良好,但是从Github Actions工作流程执行时会导致requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='api.twitter.com', port=443): Read timed out. (read timeout=900)
和tweepy.error.TweepError: Failed to send request: HTTPSConnectionPool(host='api.twitter.com', port=443): Read timed out. (read timeout=900)
错误。
Tweepy API实例:
tweepy.API(auth, timeout=900, wait_on_rate_limit=True, wait_on_rate_limit_notify=True)
该脚本发送了约1200个请求,因此将遇到Twitter's rate limits。由于wait_on_rate_limit=True
的结果,它将在达到限制后等待。这(加上timeout=900
(从默认的60
升级为尝试调试))导致大约需要30分钟才能完成。我不明白为什么它不会在本地超时,而是通过GitHub Actions实现。
无论是成功(本地)还是不成功(Github操作),脚本都要花费大约30分钟。