Expand description
How long the pipeline waits before trying again. Generic scheduling math; which error codes are
even retryable is super::classification.
Constants§
- JITTER_
MAX - NOT_
REGISTERED_ REIMPORT_ ADMIN_ THRESHOLD - How many times Suotar may lose a submission (
notRegistered) before a human looks. Each one still resubmits. - PARTIAL_
REGISTRATION_ ADMIN_ AFTER - How long verify may see only the assessment item attainment before a human looks.
- RESOLVING_
RECOVERY_ GRACE - A row still
resolving_enrolmentthis long belongs to a worker that died mid-call, and goes back toready_to_submit; a parked row’s claimed check expires after as long. Above the resolve timeout, and restarted before each resent half of a split batch, so a live answer still lands. - SUBMITTING_
RECOVERY_ GRACE - A row still
submittingthis long belongs to a worker that died mid-call. Above the import timeout, so a live request is never condemned tosubmission_uncertain. - SUBMIT_
BASE_ BACKOFF - SUBMIT_
MAX_ BACKOFF - SUBMIT_
MAX_ RETRY_ AGE - After this long in failure a row stops being retried and becomes a support case.
- SUOTAR_
PENDING_ WINDOW - Suotar’s
PENDING_WINDOW_MS: how long it holds a submission it has not yet seen in Sisu as pending. Within it, a second import of the same completion can slip past Suotar’s duplicate check. - UNCERTAIN_
ADMIN_ AFTER - How long after the submission a human is asked to look in Sisu, well past the hour an attainment may take to show up. The row still never resubmits.
- UNCERTAIN_
MAX_ RECHECK - UNCERTAIN_
RECHECK - The first wait before looking for an attainment we may or may not have created; it doubles after every fruitless look.
- VERIFY_
BASE_ BACKOFF - VERIFY_
DENSE_ 🔒WINDOW_ END - VERIFY_
GIVE_ UP_ POLL - VERIFY_
LATE_ 🔒WINDOW_ INTERVAL - VERIFY_
MAX_ AGE - After this, polling drops to daily and a human looks. Never a failure: the attainment may exist, and calling it failed would invite a second submission.
- VERIFY_
MAX_ BACKOFF - VERIFY_
WINDOW_ 🔒END - VERIFY_
WINDOW_ INTERVAL - VERIFY_
WINDOW_ 🔒START - Registrations land between about 5 and 29 hours after the submission, most of them in the first half: polls start shortly before, are close together through the dense part, and back off after.
Functions§
- doubling 🔒
- next_
attempt_ at - Spreads a batch that failed together, so it does not come back as one thundering herd.
- submit_
backoff - The wait before the next submit after
retry_countfailed ones. - submit_
window_ expired - uncertain_
needs_ admin - Whether an uncertain submission has waited long enough to be handed to an admin; never without a submission time.
- uncertain_
recheck_ delay lookup_countcounts the look just made, so the wait after the first one is already doubled.- verify_
delay - The wait from
nowuntil the next verify poll of a row submitted atsubmitted_at. Timed from the submission rather than by counting polls, so a resumed or delayed row still polls at the times registrations land. - verify_
window_ expired