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
- mosquitto.conf
- AntDesign
- setInterval clear
- 서버동기화
- transfer
- c# datagridview 데이터 넣기
- listener 1883
- pm2 상태 확인
- pm2 시작
- setInterval 외부 정지
- pm2
- DataGridView 직접 입력
- setInterval 정지
- setInterval 중지
- pm2 확인
- allow_anonymouse
- DatePicker
- invalid data
- map이 undefined가 뜰 때
- Replication
- 1883
- mosquitto
- html #select #option #multiple
- pm2 설치
- 데이터테이블 데이터 넣기
- mySQL_Replication
- timepicker
- 맥 어드레스
- datagridview 직접입력
- 공인IP
Archives
- Today
- Total
개발 노트
MQTT 메세지 받아서 DB에 저장 - 프로그램 시작 시 DB가 연결되지 않은 경우 본문
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함수가 반복실행 되지 않고 멈춘다.
'Node' 카테고리의 다른 글
NodeJS 크롤링 시작하기 (0) | 2023.11.08 |
---|---|
Node js 시작하기 (0) | 2023.11.08 |
MQTT 메세지 받아서 DB에 저장 (0) | 2023.09.25 |
mySQL에서 connection pool 사용 (0) | 2023.09.21 |
nodejs - winston 모듈 (0) | 2023.09.20 |