[Start] get consumer
{'event_name': 'Concert ham', 'price': 100, 'date': '2024-12-01', 'location': 'City Hall', 'available_tickets': 50}
Received: {'event_name': 'Concert ham', 'price': 100, 'date': '2024-12-01', 'location': 'City Hall', 'available_tickets': 50}
Error occurred: (0, '')
Consumer error: (0, '')
Traceback (most recent call last):
File "/Users/seon-u/code/semi_final/src/semi_final/con.py", line 52, in <module>
conn.close()
File "/Users/seon-u/code/semi_final/.venv/lib/python3.11/site-packages/pymysql/connections.py", line 414, in close
raise err.Error("Already closed")
pymysql.err.Error: Already closed
원인
이 오류는 데이터베이스 연결(conn)이 예상치 않게 닫힌 상태에서 conn.close()가 호출되었기 때문에 발생한 것입니다. Error occurred: (0, '') 메시지는 데이터베이스 연결이 끊기거나 무효화되었다는 것을 암시합니다. 아래 방법을 통해 문제를 해결할 수 있습니다.
해결방법
conn.open 속성을 사용하여 연결이 닫힌 상태인지 확인하고, 닫혔을 경우 get_conn()을 호출하여 재연결하는 방식
try:
# 연결이 열려 있는지 확인하고, 닫혀 있으면 재연결
if not conn.open:
print("Database connection is closed. Reconnecting...")
conn = get_conn()
cursor = conn.cursor()
cursor.execute(
'''
INSERT INTO ticket_data (event_name, price, date, location, available_tickets)
VALUES (%s, %s, %s, %s, %s)
''',
(ticket_data['event_name'], ticket_data['price'], ticket_data['date'], ticket_data['location'], ticket_data['available_tickets'])
)
conn.commit() # 각 메시지 처리 후 커밋하여 DB에 반영
print("Data saved to database.")
except Exception as e:
print(f"Error occurred while inserting data: {e}")
conn.rollback() # 오류 시 롤백하여 데이터 정합성 유지
에러메세지
원인 이 오류는 데이터베이스 연결(conn)이 예상치 않게 닫힌 상태에서 conn.close()가 호출되었기 때문에 발생한 것입니다. Error occurred: (0, '') 메시지는 데이터베이스 연결이 끊기거나 무효화되었다는 것을 암시합니다. 아래 방법을 통해 문제를 해결할 수 있습니다.
해결방법
conn.open 속성을 사용하여 연결이 닫힌 상태인지 확인하고, 닫혔을 경우 get_conn()을 호출하여 재연결하는 방식