Expand description
Creating ledger rows for completions that are allowed to be registered. The same statement is
the backfill: flipping a module on makes every pre-existing eligible completion match, and they
stop at pending, because historical completions belong to students nobody ever asked.
Structs§
- Unmaterialised
Completion - A completion that should have a ledger row and has none.
Constants§
- GRADE_
IMPROVEMENT_ LIMIT - How many re-attempts one iteration may start. Bounded apart from
MATERIALIZE_LIMITbecause each of these costs a round trip to the study registry for a credit the student already has. - MATERIALIZE_
LIMIT - How many rows one iteration may create. Also the backfill’s rate limit.
Functions§
- ensure_
registration_ rows_ for_ eligible_ completions - Creates a
pendingrow and itscreatedevent for every registrable completion that has none; returns the count. - get_
unmaterialised_ eligible_ completions - Completions
ensure_registration_rows_for_eligible_completionsshould have picked up at leastmin_age_secsago and did not. - start_
re_ attempts_ for_ improved_ grades - Supersedes accepted attempts whose completion has since been graded higher, and starts the next
attempt at
ready_to_submit; returns how many were started.