Expand description
The study registry over Suotar, for phase iterations and for manual actions: the only part of the pipeline that names Suotar’s wire items and codes, or sends through its client.
Re-exports§
pub use breaker::is_waiting_to_probe;pub use codes::is_waiting_item;
Modules§
- breaker 🔒
- The circuit breakers the study-registry phases share within one worker process: one every such phase stops for, and one only the phase that submits to Sisu stops for, since Sisu timing out on submissions says nothing about the rest of Suotar.
- codes 🔒
- What a Suotar per-item
codemeans: the one place the wire vocabulary is spelled out. What may be done about the ledger error code it maps to is models’classification::retryability. - course_
codes 🔒 - Validating course codes with
course-codes/validate, as many per request as the allowance lets. - decode 🔒
- Suotar’s answers and failures read into the registry’s terms.
- encode 🔒
- Requests into Suotar’s wire items, each under the requestItemId it goes out with.
- executor 🔒
- Sending one batch of a worker flow: fresh request ids, the limiter, the call, the gate record, and pairing each row with its answer and audit.
- gate 🔒
- The one place an iteration’s Suotar requests meet the circuit breakers and the limiter: every
request is spent through the gate and recorded in it, and
StudyRegistryGate::settleturns the records into the breaker and limiter effects. - health_
report 🔒 - Copying this process’s breaker and limiter state to the database for the dashboard, which runs in another process.
- rate_
limit 🔒 - How much one worker process may ask of each rate-limited Suotar endpoint.
- rosters 🔒
- Course rosters from
list-by-course: one request of a worker iteration, and the interactive search behind a linking mail resend.
Structs§
- Interactive
Suotar 🔒 - The
InteractiveStudyRegistryover Suotar, for one manual action: the interactive timeout, and no gate. - Suotar
Study 🔒Registry - The
StudyRegistryover Suotar for one phase iteration: every request is spent through, and recorded in, the iteration’s gate.
Functions§
- endpoint_
of 🔒 - The Suotar endpoint that serves
operation, which is also what the call log, the limiter and the dashboard key on. - endpoints_
paused_ by - The Suotar endpoints whose phases
process_name’stargetbreaker pauses, each once. - max_
study_ registry_ wait - The longest one iteration of
phasemay wait on the study registry before its calls time out. - request_
span 🔒 - The span every request to
endpointruns in, whichever of the adapter’s call sites sends it. A resent half recordsresent_halfon it. - reset_
rate_ limits - Forgets the limiter state of
scope, so its endpoints are back at full rate with a full burst. - study_
registry_ 🔒endpoints - The Suotar endpoints one iteration of
phasecalls, in order: itscrate::PhaseSpec::operationsas the call log and the dashboard name them.