summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWu Cheng-Han2016-12-18 22:52:30 +0800
committerWu Cheng-Han2016-12-18 22:52:30 +0800
commit62eccd48e591fac2774032330ee03a2e60df00b5 (patch)
treefd75cdec5f48ad2802c2210c559fc9a50384745e
parentbe3aa3bfd50859ca8a310130a99f977fa7537246 (diff)
Try to fix when server have heavy loading cache might not update to db properly
Diffstat (limited to '')
-rw-r--r--lib/history.js2
-rw-r--r--lib/realtime.js2
2 files changed, 2 insertions, 2 deletions
diff --git a/lib/history.js b/lib/history.js
index 4a3bbe1e..2723422c 100644
--- a/lib/history.js
+++ b/lib/history.js
@@ -27,10 +27,10 @@ var updater = setInterval(function () {
if (cache.isDirty) {
if (config.debug) logger.info("history updater found dirty history: " + key);
var history = parseHistoryToArray(cache.history);
+ cache.isDirty = false;
finishUpdateHistory(key, history, function (err, count) {
if (err) return callback(err, null);
if (!count) return callback(null, null);
- cache.isDirty = false;
cache.updateAt = Date.now();
return callback(null, null);
});
diff --git a/lib/realtime.js b/lib/realtime.js
index 0b9e0c77..ed36a24f 100644
--- a/lib/realtime.js
+++ b/lib/realtime.js
@@ -84,6 +84,7 @@ var updater = setInterval(function () {
var note = notes[key];
if (note.server.isDirty) {
if (config.debug) logger.info("updater found dirty note: " + key);
+ note.server.isDirty = false;
updateNote(note, function(err, _note) {
// handle when note already been clean up
if (!notes[key] || !notes[key].server) return callback(null, null);
@@ -104,7 +105,6 @@ var updater = setInterval(function () {
}
return callback(err, null);
}
- note.server.isDirty = false;
note.updatetime = moment(_note.lastchangeAt).valueOf();
emitCheck(note);
return callback(null, null);