2
初心者の方はウェブプログラミングを初めて利用しています。私は、接続されたクライアントが気象情報を利用できるように、MEANスタックを使用してJSONファイルをサーバー内に作成しています。Node.jsクライアントアクセス可能なJSONファイルを更新する
node-scheduleライブラリを使用して毎時JSONファイルを更新しています。クライアントがファイルのデータに同時にアクセスしようとすると、サーバーからファイルを絶えず更新することで並行性の問題が発生しますか?以下
コードスニペット:
server.js
function updateWeatherFile() {
var weather = require('weather-js');
var w = "";
weather.find({search: weatherSearch, degreeType: 'C'}, function(err, result) {
if(err)
console.log(err);
w = JSON.stringify(result, null, 2);
fs.writeFile('public/weather.json', w, function(err) {
if(err) {
console.log(err);
}
});
});
}
if(scheduleWeather) {
var schedule = require('node-schedule');
var sequence = '1 * * * *'; // cron string to specify first minute of every hour
var j = schedule.scheduleJob(sequence, function(){
updateWeatherFile();
console.log('weather is updated to public/weather.json at ' + new Date());
});
}
else {
updateWeatherFile();
}
client_sample.js
// get the current weather from the server
$http.get('weather.json').then(function(response) {
console.log(response['data'][0]['current']);
vm.weather = response['data'][0]["current"].skytext;
vm.temperature = response['data'][0]["current"].temperature;
});
感謝します。ありがとうございました。 – JeanLucLaForge