pub struct JobSpec {
pub nodes: Vec<CheckedNode>,
pub exclusive_to: HashMap<String, BranchExclusivity>,
pub input: Value,
pub caps: Capabilities,
pub embedder: Option<Arc<dyn InferBackend>>,
pub warehouse: Option<WarehousePlan>,
pub alternates: Alternates,
}Expand description
Everything needed to run one job.
Fields§
§nodes: Vec<CheckedNode>The checked graph, in topological order — safe to execute
front-to-back, threading outputs forward.
exclusive_to: HashMap<String, BranchExclusivity>Which nodes are exclusive to which branch decision+label — see
crate::dag::BranchExclusivity.
input: ValueThe job’s input, handed to every entry node (a node with no input
expression — node.input.is_none()).
caps: CapabilitiesWhat this job is permitted to reach.
embedder: Option<Arc<dyn InferBackend>>The backend serving embed, if the spec declared an
embedding_model. Resolved at startup like every other model, so a
spec naming one this build cannot serve fails as the daemon comes up
rather than partway through a corpus.
warehouse: Option<WarehousePlan>Where to write a medallion warehouse of this job’s results, and the
lineage to stamp on every row. None for a spec that declared no
warehouse, which is every spec that existed before this.
alternates: AlternatesBackends for models beyond the job’s own — see Alternates.
Empty for a spec with no reroute rung and no model-bearing Judge,
which is every spec that existed before acceptance contracts.
Auto Trait Implementations§
impl !RefUnwindSafe for JobSpec
impl !UnwindSafe for JobSpec
impl Freeze for JobSpec
impl Send for JobSpec
impl Sync for JobSpec
impl Unpin for JobSpec
impl UnsafeUnpin for JobSpec
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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> ⓘ
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