我在树莓派上运行了2个应用程序。一个是API,另一个是历史跟踪器,每6小时写一次数据库。我用PM2运行这些,但我认为它会在一段时间之后暂停应用程序,因为我不能在一段时间后访问它们。
pm2使用的命令:
sudo pm2 start historytracker
sudo pm2 start app.js //api
sudo pm2 startup //apply this generated line
historytracker(我怀疑问题出在这里,它适用于Windows和Linux上的控制台):
let j = schedule.scheduleJob('0 */6 * * *', function() {
request('https://api.coinmarketcap.com/v1/global/', function (error, response, body) {
if (!error && response.statusCode == 200) {
body = JSON.parse(body);
console.log(body);
coinAmount = body.active_currencies;
console.log(coinAmount);
request('https://api.coinmarketcap.com/v1/ticker/?limit=' + coinAmount, function (error, response, body) {
if (!error && response.statusCode == 200) {
body = JSON.parse(body);
for (let i = 0; i < body.length; i++) {
let sql = "INSERT INTO `tblCoinHistory`(`name`, `price_btc`) VALUES (?,?)";
if (body[i].name == "bitcoin") {
inserts = [body[i].name, body[i].price_usd];
} else {
inserts = [body[i].name, body[i].price_btc];
}
sql = mysql.format(sql, inserts);
con.query(sql, function (err, result) {
if (err) throw err;
});
}
}
})
}
})
});