我使用节点js(flex环境)在app引擎上部署了我的代码。
config.json
{
"GCLOUD_PROJECT": "XXXXXX",
"DATA_BACKEND": "cloudsql",
"MYSQL_USER": "XXXX",
"MYSQL_PASSWORD": "XXXXX",
"INSTANCE_CONNECTION_NAME": "XXXXXX:us-central1:XXXXX"
}
模型cloudsql.js
const options = {
user: config.get('MYSQL_USER'),
password: config.get('MYSQL_PASSWORD'),
database: 'XXXXX'
};
if (config.get('INSTANCE_CONNECTION_NAME') && config.get('NODE_ENV') === 'production') {
options.socketPath = `/cloudsql/${config.get('INSTANCE_CONNECTION_NAME')}`;
}
const connection = mysql.createConnection(options);
我收到以下错误:
“致命错误后无法将查询排入队列。”
请提供任何反馈。
答案 0 :(得分:0)
当您尝试查询在创建期间遇到致命错误的连接时,似乎发生错误"Cannot enqueue Query after fatal error."
。如果我们查看mysqljs documentation,则建议您使用以下内容进行连接:
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'example.org',
user : 'bob',
password : 'secret'
});
connection.connect(function(err) {
if (err) {
console.error('error connecting: ' + err.stack);
return;
}
console.log('connected as id ' + connection.threadId);
});
如您所见,您需要传递一个回调函数来处理尝试连接时可能出现的任何错误。此回调函数将打印遇到的错误,以便为您提供有关无法连接的原因的更多信息。
此外,您可能对this处理错误的部分感兴趣。