diff --git a/src/backup/head.js b/src/backup/head.js index 6c70666..433d6bf 100644 --- a/src/backup/head.js +++ b/src/backup/head.js @@ -154,7 +154,7 @@ function connectToMaster(i = 0, init = false) { connectWS(floID).then(ws => { ws.floID = floID; ws.onclose = () => connectToMaster(i); - serveAsSlave(ws); + serveAsSlave(ws, init); }).catch(error => { console.log(`Node(${floID}) is offline`); connectToMaster(i + 1, init) @@ -170,10 +170,10 @@ function serveAsMaster(init) { app.resume(); } -function serveAsSlave(ws) { +function serveAsSlave(ws, init) { console.debug('Starting slave process'); app.pause(); - slave.start(ws); + slave.start(ws, init); mod = SLAVE_MODE; } diff --git a/src/backup/slave.js b/src/backup/slave.js index d788119..0a1e253 100644 --- a/src/backup/slave.js +++ b/src/backup/slave.js @@ -13,7 +13,7 @@ var masterWS = null; //Container for Master websocket connection var intervalID = null; -function startSlaveProcess(ws) { +function startSlaveProcess(ws, init) { if (!ws) throw Error("Master WS connection required"); //stop existing process stopSlaveProcess(); @@ -30,7 +30,8 @@ function startSlaveProcess(ws) { message.sign = floCrypto.signData(message.type + "|" + message.req_time, global.myPrivKey); ws.send(JSON.stringify(message)); //start sync - requestInstance.open(); + if (init) + requestInstance.open(); intervalID = setInterval(() => requestInstance.open(), BACKUP_INTERVAL); }