fix handling for missed events on initialization

This commit is contained in:
Jake McDermott
2018-08-11 13:14:22 -04:00
parent 49222d5e72
commit 5e974d84b6

View File

@@ -359,9 +359,9 @@ function startListening () {
function handleJobEvent (data) { function handleJobEvent (data) {
streaming = streaming || resource.events streaming = streaming || resource.events
.getRange([Math.max(1, data.counter - 50), data.counter + 50]) .getRange([Math.max(0, data.counter - 50), data.counter + 50])
.then(results => { .then(results => {
results = results.concat(data); results.push(data);
const counters = results.map(({ counter }) => counter); const counters = results.map(({ counter }) => counter);
const min = Math.min(...counters); const min = Math.min(...counters);
@@ -379,7 +379,7 @@ function handleJobEvent (data) {
results = results.filter(({ counter }) => counter > maxMissing); results = results.filter(({ counter }) => counter > maxMissing);
} }
stream.setMissingCounterThreshold(max + 1); stream.setMissingCounterThreshold(max);
results.forEach(item => { results.forEach(item => {
stream.pushJobEvent(item); stream.pushJobEvent(item);
status.pushJobEvent(item); status.pushJobEvent(item);