#[non_exhaustive]pub enum TaskKind {
Subprocess(SubprocessSpec),
Wasm(WasmSpec),
Container(ContainerSpec),
Embedded,
}Expand description
Execution backend for a task.
| Variant | Backend | Routable |
|---|---|---|
Subprocess | OS process (command, args) | yes |
Container | OCI container image | yes |
Embedded | In-process TaskRef | no |
Wasm | WASI module (.wasm) | yes |
Routable variants go through RunnerRouter::pick().
§Also
TaskSpec- embedsTaskKindas its execution backend.solti_runner::RunnerRouter- picks a runner based on kind and selector.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Subprocess(SubprocessSpec)
Execute a subprocess on the host.
Wasm(WasmSpec)
Execute a WebAssembly module via a WASI-compatible runtime.
Container(ContainerSpec)
Run a task inside an OCI-compatible container.
Embedded
Built-in / code-defined task that does not require a runner.
Used only with SupervisorApi::submit_with_task().
Any attempt to submit this via submit() (which builds via runners) must be rejected.
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for TaskKind
impl<'de> Deserialize<'de> for TaskKind
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for TaskKind
impl StructuralPartialEq for TaskKind
Auto Trait Implementations§
impl Freeze for TaskKind
impl RefUnwindSafe for TaskKind
impl Send for TaskKind
impl Sync for TaskKind
impl Unpin for TaskKind
impl UnsafeUnpin for TaskKind
impl UnwindSafe for TaskKind
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