mysql 处理排队_致命错误后节点JS Mysql协议排队

错误是什么意思?

{ [Error: Cannot enqueue Query after fatal error.] code: 'PROTOCOL_ENQUEUE_AFTER_FATAL_ERROR', fatal: false }

此代码在我的测试文件中有效:

function handleDisconnect() {

objConn = mysql.createConnection(db_config); // Recreate the connection, since

// the old one cannot be reused.

objConn.connect(function(err) { // The server is either down

if(err) { // or restarting (takes a while sometimes).

console.log('error when connecting to db:', err.code);

setTimeout(handleDisconnect, 2000); // We introduce a delay before attempting to reconnect,

}else{

console.log('Connected to db!');

} // to avoid a hot loop, and to allow our node script to

}); // process asynchronous requests in the meantime.

// If you're also serving http, display a 503 error.

objConn.on('error', function(err) {

if(err.code === 'PROTOCOL_CONNECTION_LOST') { // Connection to the MySQL server is usually

handleDisconnect(); // lost due to either server restart, or a

}else{

throw err;

}

});

}

handleDisconnect();

megaLoop();

function megaLoop(){

objConn.query('SELECT u.`email` FROM `users` as u', function(err, rows) {

console.log(err);

console.log(rows);

});

setTimeout(megaLoop, 100);

}

但是当我在Express App中使用该功能时,出现错误:

{ [Error: Cannot enqueue Query after fatal error.] code: 'PROTOCOL_ENQUEUE_AFTER_FATAL_ERROR', fatal: false }

为什么它在我的测试中而不在我的应用程序中起作用?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值