Skip to main content

Module backoff

Module backoff 

Source
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_SECS
NO_USABLE_ENROLMENT_RECHECK_SECS
How long before the pipeline looks for an enrolment again on its own; a student recheck or enrolment discovery can wake the row sooner.
SUBMITTING_RECOVERY_GRACE_SECS
A row still submitting this long belongs to a worker that died mid-call. Must stay comfortably longer than the client’s request timeout, so a live request is never condemned.
SUBMIT_BASE_BACKOFF_SECS
SUBMIT_MAX_BACKOFF_SECS
SUBMIT_MAX_RETRY_AGE_SECS
After this long in failure a row stops being retried and becomes a support case.
UNCERTAIN_MAX_CHECKS
After this many fruitless checks a human is asked to look in Sisu. The row still never resubmits.
UNCERTAIN_RECHECK_SECS
How long between the checks that look for an attainment we may or may not have created.
VERIFY_BASE_BACKOFF_SECS
VERIFY_FIRST_DELAY_SECS
Sisu needs a few minutes before a submitted attainment shows up, so the first poll waits.
VERIFY_GIVE_UP_POLL_SECS
VERIFY_MAX_AGE_SECS
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_SECS

Functions§

next_attempt_at
Spreads a batch that failed together, so it does not come back as one thundering herd.
submit_backoff_secs
submit_window_expired
verify_backoff_secs
The import phase schedules the first poll, so one prior attempt still means the base delay.
verify_window_expired