pub struct RosterSchedule {Show 18 fields
pub course_code: String,
pub last_fetched_at: Option<DateTime<Utc>>,
pub last_fetch_started_at: Option<DateTime<Utc>>,
pub last_mailing_fetch_started_at: Option<DateTime<Utc>>,
pub last_fetch_duration_ms: Option<i32>,
pub last_listed_person_count: Option<i32>,
pub is_fetched_alone: bool,
pub consecutive_failures: i32,
pub retry_not_before: Option<DateTime<Utc>>,
pub last_error: Option<CreditRegistrationErrorCode>,
pub module_count: i64,
pub waiting_count: i64,
pub next_rung_at: Option<DateTime<Utc>>,
pub unserved_press_at: Option<DateTime<Utc>>,
pub fetches_today: i32,
pub fetch_requested_at: Option<DateTime<Utc>>,
pub linking_counters: Option<AccountLinkingCodeCounters>,
pub unlinked_enrolled_before_count: Option<i32>,
}Expand description
One code’s schedule, with the waiting people its next fetch is derived from.
Fields§
§course_code: String§last_fetched_at: Option<DateTime<Utc>>§last_fetch_started_at: Option<DateTime<Utc>>§last_mailing_fetch_started_at: Option<DateTime<Utc>>When the latest arrived fetch that could claim linking mail was sent.
last_fetch_duration_ms: Option<i32>§last_listed_person_count: Option<i32>§is_fetched_alone: bool§consecutive_failures: i32§retry_not_before: Option<DateTime<Utc>>§last_error: Option<CreditRegistrationErrorCode>§module_count: i64The active modules on the code, which share its enrolment list.
waiting_count: i64Registrations on the code’s modules waiting for a student number within
WAITING_HORIZON of an anchor. Always zero with account linking off.
next_rung_at: Option<DateTime<Utc>>The earliest unserved rung of a waiting person’s ladder.
unserved_press_at: Option<DateTime<Utc>>The latest unserved “I have enrolled” press a waiting person’s ladder is anchored on.
fetches_today: i32Fetches of the code sent today (UTC), against MAX_FETCHES_PER_DAY.
fetch_requested_at: Option<DateTime<Utc>>An admin’s fetch request; served once a fetch sent after it arrives.
linking_counters: Option<AccountLinkingCodeCounters>The last enrolment list that fed account linking.
unlinked_enrolled_before_count: Option<i32>From the same list: people who enrolled before account linking began and are linked to no account, so no linking mail went to them.
Implementations§
Source§impl RosterSchedule
impl RosterSchedule
Sourcepub fn next_fetch_at(&self, now: DateTime<Utc>) -> DateTime<Utc>
pub fn next_fetch_at(&self, now: DateTime<Utc>) -> DateTime<Utc>
When the code is next due, ignoring the failure backoff: at once if it has never been fetched.
Sourcefn slot_after(&self, ready_at: DateTime<Utc>, gap: TimeDelta) -> DateTime<Utc>
fn slot_after(&self, ready_at: DateTime<Utc>, gap: TimeDelta) -> DateTime<Utc>
The first grid point at or after ready_at that is at least gap after the last fetch.
Sourcepub fn unserved_fetch_request_at(&self) -> Option<DateTime<Utc>>
pub fn unserved_fetch_request_at(&self) -> Option<DateTime<Utc>>
An admin’s fetch request no fetch sent after it has served yet.
Trait Implementations§
Source§impl Clone for RosterSchedule
impl Clone for RosterSchedule
Source§fn clone(&self) -> RosterSchedule
fn clone(&self) -> RosterSchedule
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RosterSchedule
impl Debug for RosterSchedule
Source§impl PartialEq for RosterSchedule
impl PartialEq for RosterSchedule
impl StructuralPartialEq for RosterSchedule
Auto Trait Implementations§
impl Freeze for RosterSchedule
impl RefUnwindSafe for RosterSchedule
impl Send for RosterSchedule
impl Sync for RosterSchedule
impl Unpin for RosterSchedule
impl UnsafeUnpin for RosterSchedule
impl UnwindSafe for RosterSchedule
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].