当前位置: 首页 > 面试题库 >

致命错误后节点JS Mysql协议排队

时同
2023-03-14
问题内容

错误是什么意思?

{ [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 }

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


问题答案:

我相信问题是Express-sql-
session。我现在遇到同样的问题。我认为有人正在处理以下内容:NodeJS在MAC上运行,并且在centOS上部署时发生错误

也检查一下:https :
//github.com/felixge/node-mysql/issues/1166



 类似资料:
  • 我忘了把我的更改推进到一个我已经工作了几个月的项目中。这导致了一个非常大的. git目录(约11 GB)。回购中的其余文件组合起来要比这少得多。我想把所有的提交都推到github上,如果不是一次完成,那就增量完成。因此,我试图一个接一个地推动提交,以便保持在每次推送的限制之下。 我的第一次提交(~5.5 GB)推送失败,并给出错误。 我在谷歌搜索时发现了一些类似的信息,但它们都指向一个特定的字符错

  • 问题内容: 我正在使用node-request模块,定期将GET请求发送到一组URL,有时在某些站点上出现以下错误。 问题是,有时我不会总是或在某些URL上始终遇到此错误。同样,不能使用“ ” 将其忽略。 我已经读到这可能与我使用错误的协议(SSLv2,SSLv3,TLS ..)发送SSL请求有关。但这并不能解释为什么它会不定期发生。 顺便说一句,我正在Win 2008服务器上运行nodejs。

  • 我正在尝试使用maven protoc插件和我在Cygwin中构建的protoc可执行文件编译协议缓冲区代码。我无法从Cygwin或Windows命令行执行此操作。下面是我在Windows中运行它时得到的输出,但从Cygwin运行时的错误是相同的。我觉得这很奇怪,因为如果问题是路径转换,那么我希望其中一个可以工作。这个可执行文件是用Cygwin的g构建的,这可能会影响到事情吗?(显而易见,该目录确

  • 我正在努力将mysql_results替换为mysqli。有人能帮忙吗。我所需要的只是在下面的代码中更正'mysqli_result($result,'0','theurl')'。当所有东西都使用mysql函数编写时,它就起作用了。但是在我将所有内容转换为mysqli之后,mysql_results转换似乎不起作用了。 当它工作时:echo(mysql_num_rows($query)!==0)?

  • 我得到以下错误: 警告:require_once(D:/xampp/htdocs/inc/head.php):无法打开流:第3行的D:\xampp\htdocs\ecommerce1\index.php中没有此类文件或目录 致命错误:require_once():无法打开required'D:/xampp/htdocs/inc/head。D:\xampp\htdocs\ecommerce1\ind