broadcast messages to all clients, send also number of outstanding syncs

This commit is contained in:
azivner 2017-11-25 18:31:38 -05:00
parent 992238f0b3
commit cb31e0acf2
3 changed files with 16 additions and 11 deletions

View file

@ -165,5 +165,8 @@ ws.onmessage = function (event) {
noteEditor.reload();
}
const changesToPushCountEl = $("#changesToPushCount");
changesToPushCountEl.html(message.changesToPushCount);
}
};

View file

@ -38,10 +38,10 @@ const status = (function() {
// noteEditor.reload();
// }
changesToPushCountEl.html(resp.changesToPushCount);
//changesToPushCountEl.html(resp.changesToPushCount);
}
setInterval(checkStatus, 5 * 1000);
//setInterval(checkStatus, 5 * 1000);
return {
checkStatus

View file

@ -2,6 +2,7 @@ const sql = require('./sql');
const source_id = require('./source_id');
const utils = require('./utils');
const messaging = require('./messaging');
const options = require('./options');
async function addNoteSync(noteId, sourceId) {
await addEntitySync("notes", noteId, sourceId)
@ -40,7 +41,7 @@ let startTime = utils.nowTimestamp();
let sentSyncId = [];
setInterval(async () => {
const syncs = await sql.getResults("SELECT * FROM sync WHERE sync_date >= ?", [startTime]);
const syncs = await sql.getResults("SELECT * FROM sync WHERE sync_date >= ? AND source_id != ?", [startTime, source_id.currentSourceId]);
startTime = utils.nowTimestamp();
const data = {};
@ -59,15 +60,16 @@ setInterval(async () => {
syncIds.push(sync.id);
}
if (syncIds.length > 0) {
messaging.send({
type: 'sync',
data: data
});
const lastSyncedPush = await sql.getSingleValue("SELECT opt_value FROM options WHERE opt_name = 'last_synced_push'");
for (const syncId of syncIds) {
sentSyncId.push(syncId);
}
messaging.send({
type: 'sync',
data: data,
changesToPushCount: await sql.getSingleValue("SELECT COUNT(*) FROM sync WHERE id > ?", [lastSyncedPush])
});
for (const syncId of syncIds) {
sentSyncId.push(syncId);
}
}, 1000);