From 2e3ce28468b98436fc22500b3bab5c5c8dda7dca Mon Sep 17 00:00:00 2001 From: Ting-Jun Wang Date: Fri, 23 Aug 2024 16:10:13 +0800 Subject: [PATCH] fix: db auto reconnect --- src/cml_account.py | 15 ++++++++++++--- src/message.py | 4 ++-- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/cml_account.py b/src/cml_account.py index c053c14..08e4039 100644 --- a/src/cml_account.py +++ b/src/cml_account.py @@ -3,7 +3,7 @@ import os class CMLAccountManager(): def __init__(self, db_username, db_password) -> None: - config = { + self.config = { 'user': db_username, 'password': db_password, 'host': 'cml4.csie.ntu.edu.tw', # 默認是 'localhost' @@ -12,11 +12,20 @@ class CMLAccountManager(): 'ssl_disabled': True } - self.conn = mysql.connector.connect(**config) + self.conn = mysql.connector.connect(**self.config) print("Connection successful") + self.conn.close() def find_user(self, username): - cursor = self.conn.cursor() + try: + cursor = self.conn.cursor() + except: + if self.conn.is_connected(): + self.conn.close() + print("Restart DB Connection") + self.conn = mysql.connector.connect(**self.config) + cursor = self.conn.cursor() + query = "SELECT * FROM `People` WHERE `account`=%s" param = (username, ) diff --git a/src/message.py b/src/message.py index 8a1bc85..eb765b9 100644 --- a/src/message.py +++ b/src/message.py @@ -22,8 +22,8 @@ Hi {}, BIND_SUCCESS = ''' Hi {}, -我們從資料庫找到您屬於 `{} group`, 我們已經幫您分配到 Discord `{}` 的身份! -並且已經綁定您的 CMLab 使用者帳號 `{}`,未來若有實驗室相關通知我們能夠快速找到您! +我們從資料庫找到您屬於 `{} group`, 因此會幫您分配到 Discord `{}` 的身份! +同時我們也已經綁定您的 CMLab 使用者帳號 `{}`,未來我們能夠透過自動化工具提供給您相關通知! '''