最近,我的Telegram机器人经常遇到此错误,发生在从10分钟到5天的任何时间运行脚本之后:
[Errno -3] Temporary failure in name resolution
这一直持续到我重新启动运行机器人的服务器为止。当我的机器人遇到错误时,它会尝试在脚本中自动重启:
def makeRequest(self, cmd, data=None):
jsonData = json.dumps(data or {})
try:
self.con.request("POST", REQUEST_URL+cmd, jsonData, HEADERS)
except:
debug("An error occurred while carrying out the API request", 1)
raise
response = self.con.getresponse()
decodedResponse = json.loads(response.read().decode())
if not decodedResponse["ok"]:
debug("reponse: {}".format(decodedResponse), 3)
raise ApiError(decodedResponse["error_code"])
return False
return decodedResponse["result"]
这会触发一些调用此函数的代码:
def reconnect(self):
self.con.close()
self.con = http.client.HTTPSConnection(URL, 443)
con
是一个http.client
连接。
但是,这不能解决以上错误。到目前为止,我发现唯一可以解决的问题是重新启动服务器。我认为这一定是在Telegram的尽头-我不知道是什么原因造成的。还有其他人遇到吗?如果是这样,有人解决过这个问题吗?