【发布时间】:2019-10-28 11:31:35
【问题描述】:
我有一个基本的 node.js 应用程序在 RaspPi 上作为服务运行。 应该有两个重要的问题:
- 每 3 秒检查一次 MySQL 数据库并获取状态
- 即使 Internet 连接丢失或 MySQL 服务器停止等,也不要扔。
此代码运行良好,但如果 MySQL 服务器停止,应用程序将关闭并抛出错误。即使出现任何类型的错误,它也需要运行。 (无需记录和获取错误类型) 并且;每 3 秒的连接算法对性能是否正确?
var mysql = require('mysql');
var con = mysql.createConnection({
host: "192.168.1.100",
user: "test",
password: "test",
database: "test"
});
var Gpio = require('onoff').Gpio;
var LED = new Gpio(4, 'out'); //use GPIO pin 4
var getStatus = setInterval(checkStatus, 3000);
function checkStatus() {
try
{
con.connect(function(err) {
//if (err) throw err;
con.query("SELECT device_status FROM Device_Status WHERE
device_id='device01'", function (err, result, fields) {
if (err)
{
//console.log(err);
}
else
{
//console.log(result[0].device_status);
if(result[0].device_status == "1")
{
LED.writeSync(1);
}
else
{
LED.writeSync(0);
}
}
});
});
}
catch(err){ //console.log(err);
}
}
【问题讨论】: