pub struct RuntimeSection {
pub scheduler_threads: usize,
pub jit_threshold: Option<u32>,
pub query_timeout_ms: Option<u64>,
pub workloop_sweep_interval_ms: Option<u64>,
pub stop_drain_timeout_ms: Option<u64>,
}Expand description
Engine runtime settings from [runtime].
Fields§
§scheduler_threads: usizeNumber of scheduler worker threads.
jit_threshold: Option<u32>JIT compilation threshold: recorded calls to one
(module, function, arity) before beamr compiles it.
Absent means beamr applies its own default; the server invents no value.
Read aion::RuntimeConfig::jit_threshold before setting it — a large
value defers compilation past any realistic workload but is not a
JIT off-switch.
query_timeout_ms: Option<u64>Engine reply deadline for workflow queries, in milliseconds.
REQUIRED — the server always mounts /workflows/query, so the query
reply deadline must be an explicit operator decision; there is no
default. The engine builder is equally explicit-no-default.
workloop_sweep_interval_ms: Option<u64>How often the engine sweeps its registered workloops, in milliseconds.
This is the DEAD-MAN DETECTION interval, not a scheduling precision knob: a loop’s cadence window is checked once per sweep, so the sweep interval bounds how late a fire or a missed window can be noticed. Cost scales with the number of REGISTERED loops, not with how many are due.
stop_drain_timeout_ms: Option<u64>The engine stop’s drain bound, in milliseconds (AE-017).
A NO-PROGRESS bound: when the server stops, each engine worker thread (cleanup executor, exit drainer, exit-callback dispatcher) is drained, and the drain fails only when that worker has completed NOTHING for this long — the clock restarts on every completed job. A loaded box that is still finishing callbacks is never called a wedge; a callback that is genuinely stuck is named within this window of sticking, with the in-flight age and queue depth in the log. Omitted → 30 s (the estate’s ruled patience of one deploy); zero is refused.
Trait Implementations§
Source§impl Clone for RuntimeSection
impl Clone for RuntimeSection
Source§fn clone(&self) -> RuntimeSection
fn clone(&self) -> RuntimeSection
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RuntimeSection
impl Debug for RuntimeSection
Source§impl Default for RuntimeSection
impl Default for RuntimeSection
Source§impl<'de> Deserialize<'de> for RuntimeSectionwhere
RuntimeSection: Default,
impl<'de> Deserialize<'de> for RuntimeSectionwhere
RuntimeSection: Default,
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>,
Auto Trait Implementations§
impl Freeze for RuntimeSection
impl RefUnwindSafe for RuntimeSection
impl Send for RuntimeSection
impl Sync for RuntimeSection
impl Unpin for RuntimeSection
impl UnsafeUnpin for RuntimeSection
impl UnwindSafe for RuntimeSection
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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> IntoMaybeUndefined<T> for T
impl<T> IntoMaybeUndefined<T> for T
Source§fn into_maybe_undefined(self) -> MaybeUndefined<T>
fn into_maybe_undefined(self) -> MaybeUndefined<T>
Source§impl<T> IntoOption<T> for T
impl<T> IntoOption<T> for T
Source§fn into_option(self) -> Option<T>
fn into_option(self) -> Option<T>
Source§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>
T in a tonic::Request