공유 리눅스 호스트에서 MySQL 서버를 쿼리하는 파이썬 스크립트가 있습니다. 어떤 이유로 MySQL에 대한 쿼리는 종종 "server has gone away"오류를 반환합니다.
_mysql_exceptions.OperationalError: (2006, 'MySQL server has gone away')
나중에 즉시 쿼리를 다시 시도하면 일반적으로 성공합니다. 그래서 저는 파이썬에서 쿼리를 실행하는 합리적인 방법이 있는지 알고 싶습니다. 실패하면 고정 된 횟수까지 다시 시도합니다. 아마 포기하기 전에 5 번 시도하고 싶을 것입니다.
내가 가진 종류의 코드는 다음과 같습니다.
conn = MySQLdb.connect(host, user, password, database)
cursor = conn.cursor()
try:
cursor.execute(query)
rows = cursor.fetchall()
for row in rows:
# do something with the data
except MySQLdb.Error, e:
print "MySQL Error %d: %s" % (e.args[0], e.args[1])
저는 except 절에서 또 다른 시도를함으로써 그것을 할 수 있습니다.하지만 그것은 믿을 수 없을 정도로 추하고 이것을 달성하기위한 적절한 방법이 있어야한다고 느낍니다.