Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- c# datagridview 데이터 넣기
- DataGridView 직접 입력
- 서버동기화
- setInterval 외부 정지
- timepicker
- DatePicker
- pm2 시작
- pm2 상태 확인
- AntDesign
- 1883
- setInterval 정지
- mosquitto.conf
- listener 1883
- setInterval clear
- map이 undefined가 뜰 때
- allow_anonymouse
- setInterval 중지
- pm2 확인
- 데이터테이블 데이터 넣기
- mySQL_Replication
- Replication
- transfer
- datagridview 직접입력
- mosquitto
- 공인IP
- invalid data
- html #select #option #multiple
- pm2 설치
- pm2
- 맥 어드레스
Archives
- Today
- Total
개발 노트
mySQL에서 connection pool 사용 본문
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();
});
});
하지만, 우리 서비스는 애플리케이션을 종료할 필요가 없기 때문에 위 코드는 생략해도 된다.
'Node' 카테고리의 다른 글
MQTT 메세지 받아서 DB에 저장 - 프로그램 시작 시 DB가 연결되지 않은 경우 (0) | 2023.09.25 |
---|---|
MQTT 메세지 받아서 DB에 저장 (0) | 2023.09.25 |
nodejs - winston 모듈 (0) | 2023.09.20 |
winston 모듈 - 서버 로그 관리 (0) | 2023.09.19 |
module.exports (0) | 2023.09.14 |