pub enum AgentState {
Cold,
Starting,
Idle,
Working,
Paused,
Draining,
Stopped,
Error,
}Expand description
Agent lifecycle state.
Follows RAR worker lifecycle: cold → starting → idle → working → draining → stopped
work arrives
Cold ─────────────────────→ Starting → Idle ⇄ Working
↑ │
│ idle timeout │ graceful shutdown
│ ↓
└──────────── Stopped ←──────────── DrainingVariants§
Cold
Agent is registered but no process is running (scale-to-zero state). When work arrives for a Cold agent, the orchestrator needs to start a process.
Starting
Agent is starting up
Idle
Agent is idle, waiting for work
Working
Agent is working on a task
Paused
Agent is paused
Draining
Agent is finishing its current task but won’t accept new work. Used during graceful shutdown, rolling deploys, or idle timeout. Transitions to Stopped after current task completes.
Stopped
Agent has stopped
Error
Agent encountered an error
Implementations§
Source§impl AgentState
impl AgentState
Sourcepub fn is_terminal(&self) -> bool
pub fn is_terminal(&self) -> bool
Check if agent is in a terminal state.
Sourcepub fn can_accept_work(&self) -> bool
pub fn can_accept_work(&self) -> bool
Check if agent can accept new work.
Trait Implementations§
Source§impl Clone for AgentState
impl Clone for AgentState
Source§fn clone(&self) -> AgentState
fn clone(&self) -> AgentState
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for AgentState
impl Debug for AgentState
Source§impl Default for AgentState
impl Default for AgentState
Source§fn default() -> AgentState
fn default() -> AgentState
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for AgentState
impl<'de> Deserialize<'de> for AgentState
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
Source§impl Display for AgentState
impl Display for AgentState
Source§impl PartialEq for AgentState
impl PartialEq for AgentState
Source§impl Serialize for AgentState
impl Serialize for AgentState
impl Copy for AgentState
impl Eq for AgentState
impl StructuralPartialEq for AgentState
Auto Trait Implementations§
impl Freeze for AgentState
impl RefUnwindSafe for AgentState
impl Send for AgentState
impl Sync for AgentState
impl Unpin for AgentState
impl UnsafeUnpin for AgentState
impl UnwindSafe for AgentState
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 more