Merge pull request #444 from shocknet/fix/wait-ack-last-seen

wait ack
This commit is contained in:
CapDog 2021-07-31 13:32:01 -04:00 committed by GitHub
commit 9f0ec82ab0

View file

@ -29,24 +29,43 @@ const lastSeenNode = user => {
logger.warn('onOrders() -> tried to sub without authing')
throw new Error(ErrorCode.NOT_AUTH)
}
let gotLatestUserAck = true
let gotLatestProfileAck = true
setInterval(() => {
if (user.is) {
if (!user.is) {
return
}
if (!gotLatestUserAck) {
logger.error(`lastSeenNode user job: didnt get latest ack`)
return
}
gotLatestUserAck = false
user.get(Key.LAST_SEEN_NODE).put(Date.now(), ack => {
if (ack.err && typeof ack.err !== 'number') {
logger.error(`Error inside lastSeenNode job: ${ack.err}`)
logger.error(`Error inside lastSeenNode user job: ${ack.err}`)
}
gotLatestUserAck = true
})
}, LAST_SEEN_NODE_INTERVAL)
setInterval(() => {
if (!user.is) {
return
}
if (!gotLatestProfileAck) {
logger.error(`lastSeenNode profile job: didnt get latest ack`)
return
}
gotLatestProfileAck = false
user
.get(Key.PROFILE)
.get(Key.LAST_SEEN_NODE)
.put(Date.now(), ack => {
if (ack.err && typeof ack.err !== 'number') {
logger.error(`Error inside lastSeenNode job: ${ack.err}`)
logger.error(`Error inside lastSeenNode profile job: ${ack.err}`)
}
gotLatestProfileAck = true
})
}
}, LAST_SEEN_NODE_INTERVAL)
}