기계는 거짓말하지 않는다

Python pymysql connection 재 연결(reconnect) 본문

Python

Python pymysql connection 재 연결(reconnect)

KillinTime 2023. 12. 21. 21:54

Python에서 pymysql connection 연결 후 프로세스가 오래 실행되고 있을 경우,

DB 쿼리 실행 시, lost connection 오류를 보는 경우가 있다.

pymysql에서 연결이 끊어졌을 경우 재연결을 시도하는 방법이다.

import pymysql

# 연결 설정
connection = pymysql.connect(
    host='your_mysql_host',
    user='your_mysql_user',
    password='your_mysql_password',
    database='your_mysql_database',
)

def insert_db(query: str):
    # DB 쿼리 작업 전 확인하고 재연결을 시도해야한다.
    # 연결 확인 및 재연결 시도
    connection.ping(reconnect=True)
    """
    ...
    do something
    ...
    """
    connection.close()

ping(reconnect=True)를 호출하면 현재 연결 상태를 확인하고 연결이 끊어져 있으면 재연결을 시도한다.

ping() 메서드는 일반적으로 여러 작업을 수행하는 동안 연결이 유효한지를 주기적으로 확인하는 데 유용하다.

 

Comments