Я пытаюсь создать аукционный портал с базой данных Firebase Realtime и Node.js.Я храню значения начала, окончания и оставшегося времени аукциона, которые обновляются функцией Node setInterval ().Клиенты наблюдают за оставшимся временем и обновляют по мере обновления БД.
Все работает нормально, за исключением использования процессора.Что может быть лучшим решением для этого?
Мой код:
var query = usersRef.orderByKey();
query.on('value', function (snap) {
setInterval(function () {
snap.forEach(function (item) {
var current_item = item.val();
var startDate = current_item.sdate;
var endDate = current_item.edate;
var start_ts = moment(moment(), "YYYY/MM/DD H:mm:ss");
var end_ts = moment(endDate, "YYYY/MM/DD H:mm:ss");
var duration = moment.duration(end_ts.diff(start_ts));
var remainT = moment.utc(duration.as('milliseconds')).format("DD:HH:mm:ss")
var hopperRef = usersRef.child(item.key);
hopperRef.update({
"rtime": remainT
});
});
console.log("Updated");
}, 1000);
});