[英]Python Bot How to Retry after network failure
我有这个Twitter应用程序,我在本地运行,有时由于互联网连接缓慢而失败。 一旦失败,我必须从Cmd重新启动应用程序。 如果网络出现故障,是否有可能使机器人进入睡眠状态并重试代码
import tweepy, time, sys
argfile = str(sys.argv[1])
#APP
#CONSUMER_KEY = '11'
#CONSUMER_SECRET = '11'
#ACCESS_KEY = '11'
#ACCESS_SECRET = '11'
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_KEY, ACCESS_SECRET)
api = tweepy.API(auth)
filename=open(argfile,'r')
f=filename.readlines()
filename.close()
for line in f:
api.update_status(line)
time.sleep(1200)
我会做这样的事情:
import requests
import socket
def get_json(url):
"""Fetches JSON response from specified URL"""
fetched_data = dict()
try:
request = requests.get(url, timeout=2)
try:
fetched_data = request.json()
print("JSON response data:")
print(fetched_data)
except ValueError:
fetched_data["status"] = "60"
except requests.ConnectionError:
fetched_data["status"] = "60"
except requests.Timeout:
fetched_data["status"] = "60"
except requests.HTTPError:
fetched_data["status"] = "60"
except requests.URLRequired:
fetched_data["status"] = "60"
except requests.TooManyRedirects:
fetched_data["status"] = "60"
except socket.timeout:
fetched_data["status"] = "60"
return data
稍后,我将其包装在while循环中,检查状态,如果状态为60,我将其置于睡眠状态,否则将执行您想要的操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.