SMALL
const pool = mysql.createPool({
host: 호스트명,
user: 유저명,
password: 패스워드,
database: DB명,
waitForConnections: true, // 연결이 사용 가능할 때까지 대기
connectionLimit: 10, // 연결 풀의 최대 연결 수
queueLimit: 0, // 대기열에 들어갈 연결 요청의 최대 수 (0은 무제한)
reconnect: {
// 연결이 끊어졌을 때 자동 재연결 설정
autoReconnect: true,
// 최대 재시도 횟수 및 재시도 간격(ms)
maxReconnects: 10,
reconnectInterval: 2000,
},
});
// 연결 풀에서 연결을 가져와 사용
pool.getConnection((err, connection) => {
if (err) {
console.error('연결 획득 중 오류:', err);
return;
}
// 이곳에서 쿼리를 실행하거나 다른 작업을 수행
connection.query('SELECT * FROM your_table', (queryErr, results) => {
if (queryErr) {
console.error('쿼리 실행 중 오류:', queryErr);
} else {
console.log(results);
}
connection.release(); // 연결을 다시 풀에 반환
});
});
// 애플리케이션이 종료될 때 모든 연결을 닫아야 합니다.
process.on('SIGINT', () => {
pool.end((err) => {
if (err) {
console.error('연결 풀 종료 중 오류:', err);
}
process.exit();
});
});
하지만, 우리 서비스는 애플리케이션을 종료할 필요가 없기 때문에 위 코드는 생략해도 된다.
LIST
'일반' 카테고리의 다른 글
MQTT 메세지 받아서 DB에 저장 - 프로그램 시작 시 DB가 연결되지 않은 경우 (0) | 2023.09.25 |
---|---|
MQTT 메세지 받아서 DB에 저장 (0) | 2023.09.25 |
async / await (0) | 2023.09.21 |
Promise (0) | 2023.09.21 |
동기 / 비동기처리와 콜백함수 (0) | 2023.09.21 |