Mysql
 sql >> Base de données >  >> RDS >> Mysql

Erreur :impossible de mettre la requête en file d'attente après une erreur fatale dans le nœud mysql

En fait, j'ai décidé de googler votre erreur pour vous, et après avoir lu ce fil :https ://github.com/felixge/node-mysql/issues/832 J'ai réalisé que vous ne libériez pas la connexion après la fin de la première requête, et donc le pool n'essaie jamais de vous en émettre une nouvelle. Vous aviez raison de dire que la connexion obsolète pourrait être le problème. voici comment résoudre ce problème si c'est le cas :

upload.on('begin', function (fileInfo, reqs, resp) { 
    var fileType = resp.req.fields.file_type;
    var originalFileName = fileInfo.name;
     var renamedFilename = file.fileRename(fileInfo,fileType);
    /*renaming the file */
    fileInfo.name = renamedFilename;

    /*start: log the details in database;*/
    var utcMoment = conf.moment.utc();
    var UtcSCPDateTime = new Date( utcMoment.format() );
    var activityData = {
        activity_type     : conf.LIST_UPLOAD_BEGIN,
        username          : test ,
        message           : 'test has started the upload process for the file',
        activity_datetime : UtcSCPDateTime 
    };
    reqs.params.activityData = activityData;
    req.getConnection(function(err,connection) {
    var dbData = req.params.activityData;
    var activity_type = dbData.activity_type;
    console.dir("[ Connection ID:- ] "+connection.threadId+' ] [ Activity type:- ] '+activity_type);
    var insertQuery = connection.query("INSERT INTO tblListmanagerActivityLog SET ? ",dbData, function(err, result) {
        if (err) {
            console.log("Error inserting while performing insert for activity "+activity_type+" : %s ",err );
        } else {
            console.log('Insert successfull');
        }
        /// Here is the change:
        connection.release();
    });

});
    /*end: log the details in database;*/
});