SMALL
DB가 연결되었는지 체크해주는 함수
const check = async () => {
return await new Promise((resolve, reject) => {
console.log(111);
dbPool.getConnection((err, connection) => {
console.log(222);
if (connection === undefined) {
console.log(333);
// return false;
// reject(false);
reject(false);
}
else {
console.log(444);
// return connection;
resolve(connection);
}
})
})
}
본 코드로 들어가기 전에 테스트용으로 만든 test함수
const test = () => {
return new Promise((resolve, reject) => {
console.log(0);
dbPool.getConnection((err, connection) => {
console.log(12345)
let conn = connection;
if (connection === undefined) {
console.log('undefined!!');
let interval = setInterval(async () => {
let new_connection = await check()
console.log(456456456);
console.log('new_connetcion: ', new_connection);
if (new_connection === undefined) {
console.log('setinterval');
num += 1;
console.log('num = ', num);
conn = new_connection;
clearInterval(interval);
console.log(4444444)
test();
}
else {
console.log('else문 시작')
clearInterval(interval);
test();
console.log('else문 끝')
}
}, 3000);
console.log('connection: ', connection);
// reject();
}
console.log(66666666);
if (connection !== undefined) {
console.log(98765)
connection.on('error', function (err) {
console.log(55555);
return;
});
// 이곳에서 쿼리를 실행하거나 다른 작업을 수행
connection.query('SELECT * FROM dw_water2', (queryErr, results) => {
if (queryErr) {
console.error('쿼리 실행 중 오류:', queryErr);
reject();
} else {
console.log('results!!!!!!!!!!!!!!!!: ', JSON.stringify(results));
resolve();
}
connection.release(); // 연결을 다시 풀에 반환
});
};
if (err) {
console.error('연결 획득 중 오류111111111111:', err);
}
});
console.log(99999999)
})
}
출력
미해결
: 연결체크를 해주는 check함수가 반복실행 되지 않고 멈춘다.
LIST
'일반' 카테고리의 다른 글
Node js 시작하기 (0) | 2023.11.08 |
---|---|
기존 작업물에서 새로운 페이지 만들 때 (0) | 2023.09.25 |
MQTT 메세지 받아서 DB에 저장 (0) | 2023.09.25 |
mySQL에서 connection pool 사용 (0) | 2023.09.21 |
async / await (0) | 2023.09.21 |