0
我必須連接到MySQL服務器,並抓住一些數據永遠連接到MySQL在一個循環
,所以我有兩個辦法
1)連接到MySQL在一段時間
conn = mysql.connector.connect(user='root',password='password',host='localhost',database='db',charset='utf8',autocommit=True)
cursor = conn.cursor(buffered=True)
while True:
cursor.execute("statments")
sqlData = cursor.fetchone()
print(sqlData)
sleep(0.5)
搶數據
這個工作不錯,但如果劇本墜毀由於MySQL連接問題腳本下山
2)連接到MySQL的同時
while True:
try:
conn = mysql.connector.connect(user='root',password='password',host='localhost',database='db',charset='utf8',autocommit=True)
cursor = conn.cursor(buffered=True)
cursor.execute("statments")
sqlData = cursor.fetchone()
print(sqlData)
cursor.close()
conn.close()
sleep(0.5)
except:
print("recoverable error..")
兩個代碼工作不錯,但我的問題是,這是更好?
不錯,但我可以爲連接的損失怎麼辦?例如高負載的mysql崩潰,你的代碼不會開始工作後,MySQL恢復正常,因爲連接離開! –
如果有高負載,即使創建新的連接也不起作用。你的整個應用程序將停止運行。不是嗎?在第二個代碼 –
我可以忽略與嘗試......除了和MySQL服務器後重新聯機,它會嘗試重新連接很容易,但第一個代碼或您的代碼不能忽略錯誤的錯誤...... –