私はサーバーが稼働中または停止中の場合にウェブサイトに表示するモニターを作っています。 JSONファイルの編集については、正規表現や置換など、数多くのことを試しました。 200のresponseCodeに基づいて上下に調整するためにJSONファイルの「ステータス」が必要です(ステータス= up/downは現在のプレースホルダです)。とにかくJSONファイルを追加できるたびに、テキストは常にオブジェクトの外側のページの下部に追加されます。このJSONファイルは、ステータスが 'up'の場合は緑色のブロックを表示し、 'down'の場合は赤色を表示する方法でフロントエンドに使用されていることに注意してください。オリジナルのJSONファイルには、合計で11個のサーバーがあります。JSONファイルをノードjsのループで編集します
const config = require(__dirname + '/config/config.json');
var fs = require('fs');
...
function wrapper() {
//FOR EACH SERVER IN CONFIG FILE
for (var server of config.server) {
var url = server.ip + ':' + server.port;
var name = url + " " + server.name;
// DO REQUEST
loadUrl(url, name);
}
}
function loadUrl(url, name) {
var start = new Date().getTime();
request(url, function(error, response) {
var logName = name.split(' ');
var end = new Date().getTime();
var time = end - start;
if (!error) {
console.log(DateTime + " " + name + " " + response.statusCode + " - response time: " + time + "ms");
var total = DateTime + " " + name + " " + response.statusCode + " - response time: " + time + "ms\n";
fs.appendFile("./BY-logs/" + logDates + "_" + logName[1] + ".txt", total, encoding='utf8', function (err) { if (err) throw err; }); //creating or adding to logfile
//CHANGE JSON ACCORDING TO STATUS
if(response.statusCode != 200) {
fs.appendFile('./config/config.json', status = down, function (err) {});
} else {
fs.appendFile('./config/config.json', status = up, function (err) {});
}
}
}
)};
wrapper();
JSONファイルのサンプル:あなたは、ファイルに書き込み、object
の値を変更し、プログラムにJSONをロードする必要が
{
"port": 3000,
"server": [{
"id": 1,
"name": "abcdefghi2(node-1)",
"ip": "http://123.123.123.12",
"port": "8080",
"status": "up"
}, {
"id": 2,
"name": "abcdefg(node-2)",
"ip": "http://123.123.123.13",
"port": "8080",
"status": "up"
}]
}
'JSON.parse'を試してください –
基本的に実際のデータベースを使用していて、実際のデータベースを使用していないファイルとして保存するのはなぜですか? – charlietfl