pub struct MlJobQueue { /* private fields */ }Expand description
Queue + worker pool pair. Safe to clone — every clone shares the
underlying queue via Arc.
Implementations§
Source§impl MlJobQueue
impl MlJobQueue
Sourcepub fn start(worker_count: usize, worker_fn: MlWorkFn) -> Self
pub fn start(worker_count: usize, worker_fn: MlWorkFn) -> Self
Spin up a queue with worker_count threads. worker_fn is
invoked once per job. No durable backend — see
Self::start_with_backend for the persisted variant.
Sourcepub fn start_with_backend(
worker_count: usize,
worker_fn: MlWorkFn,
backend: Arc<dyn MlPersistence>,
) -> Self
pub fn start_with_backend( worker_count: usize, worker_fn: MlWorkFn, backend: Arc<dyn MlPersistence>, ) -> Self
Spin up a queue that persists every state transition to
backend. On startup the queue rehydrates any non-terminal
records and re-enqueues them (they were Running when the
previous process died — treat as Queued on resume).
Sourcepub fn submit(
&self,
kind: MlJobKind,
target_name: impl Into<String>,
spec_json: impl Into<String>,
) -> MlJobId
pub fn submit( &self, kind: MlJobKind, target_name: impl Into<String>, spec_json: impl Into<String>, ) -> MlJobId
Enqueue a new job. Returns the assigned id so the caller can poll status later.
Sourcepub fn list(&self) -> Vec<MlJob>
pub fn list(&self) -> Vec<MlJob>
Snapshot every job (terminal + live). Callers use this to
back SELECT * FROM ML_JOBS.
Trait Implementations§
Source§impl Clone for MlJobQueue
impl Clone for MlJobQueue
Source§fn clone(&self) -> MlJobQueue
fn clone(&self) -> MlJobQueue
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for MlJobQueue
impl !RefUnwindSafe for MlJobQueue
impl Send for MlJobQueue
impl Sync for MlJobQueue
impl Unpin for MlJobQueue
impl UnsafeUnpin for MlJobQueue
impl !UnwindSafe for MlJobQueue
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> 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>
Converts
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>
Converts
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request