在长时间运行的python脚本中处理MySQL连接的最佳实践
我目前有一个长时间运行的python脚本(几天),它偶尔会在mysql数据库中执行查询。查询是从不同的线程执行的 我按以下方式连接到db:在长时间运行的python脚本中处理MySQL连接的最佳实践,python,mysql,python-3.x,database,pymysql,Python,Mysql,Python 3.x,Database,Pymysql,我目前有一个长时间运行的python脚本(几天),它偶尔会在mysql数据库中执行查询。查询是从不同的线程执行的 我按以下方式连接到db: import mysql.connector import time class DB(): connection = None def __init__(self, host, user, password, database): self.host = host; self.user = user;
import mysql.connector
import time
class DB():
connection = None
def __init__(self, host, user, password, database):
self.host = host;
self.user = user;
self.password = password;
self.database = database;
self.connect()
def connect(self):
try:
self.connection = mysql.connector.connect(
host = self.host,
user = self.user,
password = self.password,
database = self.database,
autocommit = True,
)
except Exception as exception:
print("[DBCONNECTION] {exception} Retrying in 5 seconds.".format(exception = str(exception)))
time.sleep(5)
self.connect()
db = DB("11.111.11.111", "mydb", "mydb", "mydb")
执行查询的函数之一:
def getUsersDB(self):
db.connection.ping(reconnect=True)
cursor = db.connection.cursor()
cursor.execute("SELECT * FROM Users")
users = cursor.fetchall()
return users
我相信,我离处理连接的良好实践还很远。对于这种情况,正确的方法是什么?为什么您认为这不是一个好的做法?我的方法几乎是猜测。