NodeRed

.node-red\node_modules\mysql\ 오류

아이티제어1998 2022. 5. 14. 16:07

 

 nodered 쿼리실행후 자꾸 죽는 이유가 뭘까? 쿼리는 정상인데..

찾아보니 시간초과의 기본값을 늘려주면 된다고 되어있다..

 

node_module\mysql\lib\protocal\protocal.js:28라인 this._timeout = 10 0000 ; 으로 수정하였다.

 

at Quit.<anonymous> (C:\Users\Administrator\.node-red\node_modules\mysql\lib\protocol\Protocol.js:160:17)

 

nodered [red] Uncaught Exception    [error] Error  Quit inactivity timeout at Quit.

 

 

예, 시간 초과는 Protocol.js 파일 라인:162에서 옵니다. node-mysql을 체크아웃하면 쿼리에 대한 변수 "시간 초과"임을 알 수 있습니다. 시간 초과를 기본값인 10000보다 훨씬 높게 설정하면 오류가 사라집니다. 예는

pool = require('mysql').createPool({
    connectionLimit : 1000,
    connectTimeout  : 60 * 60 * 1000,
    acquireTimeout  : 60 * 60 * 1000,
    timeout         : 60 * 60 * 1000,
    host            : process.env.DB_HOST,
    user            : process.env.DB_USERNAME,
    password        : process.env.DB_PASSWORD,
    database        : process.env.DB_DATABASE
});

Sequence.js 파일(node_modules/mysql/lib/protocol/sequences/Sequence.js)에서 시간 초과를 편집할 수도 있습니다.

this._timeout  = 100000;