timing
This commit is contained in:
@@ -10,6 +10,7 @@ import {
|
||||
isAwaitingReview,
|
||||
isDismissed,
|
||||
isSettled,
|
||||
pollDelayFor,
|
||||
currentStage,
|
||||
isStuckOnMissingRunner,
|
||||
productsOf,
|
||||
@@ -334,3 +335,36 @@ test('the run id is on the drop, and gone from the run it points to', () => {
|
||||
// cannot be written using the run's.
|
||||
assert.notEqual(drop.batch_id, run.batch_id);
|
||||
});
|
||||
|
||||
/* ── How often to look, and when to stop looking ──────────────────────────── */
|
||||
|
||||
/*
|
||||
The console used to stop polling the moment a drop went to review, on the
|
||||
reasoning that waiting for an admin is not progress. It is not — but the release
|
||||
IS, and stopping there meant the panel said "waiting for review" until somebody
|
||||
reloaded the page. A step-by-step panel that only advances on reload is the
|
||||
thing the panel exists to replace.
|
||||
*/
|
||||
|
||||
test('a review hold is polled slowly, not abandoned', () => {
|
||||
assert.equal(isAwaitingReview(held), true);
|
||||
assert.equal(pollDelayFor(held), 15000, 'a hold can last hours; 2s would be 1,800 reads an hour');
|
||||
});
|
||||
|
||||
test('a running batch is polled at a pace a person can watch', () => {
|
||||
const running = { ...held, status: 'running' } satisfies IngestBatch;
|
||||
assert.equal(isAwaitingReview(running), false);
|
||||
assert.equal(pollDelayFor(running), 2000);
|
||||
});
|
||||
|
||||
// A released drop is no longer waiting on anybody, so it goes back to the fast
|
||||
// cadence even though its own status still reads "pending".
|
||||
test('a released drop is followed at the running pace', () => {
|
||||
const released = {
|
||||
...held,
|
||||
files: [{ index: 0, filename: 'qa.csv', status: 'queued' as const, released_to: 'run-77' }],
|
||||
} satisfies IngestBatch;
|
||||
assert.equal(releasedRunId(released), 'run-77');
|
||||
assert.equal(isAwaitingReview(released), false);
|
||||
assert.equal(pollDelayFor(released), 2000);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user