pub struct EngineConfig {Show 13 fields
pub tick_interval: Duration,
pub sync_interval: Duration,
pub webhook_health_check_interval: Option<Duration>,
pub max_parallel: usize,
pub stuck_timeout: u64,
pub no_session_stuck_timeout: u64,
pub in_review_no_session_stuck_timeout: u64,
pub auto_create_followup_on_changes: bool,
pub graceful_shutdown_timeout: Duration,
pub silence_grace_period: u64,
pub silence_cooldown: u64,
pub upgrade_check_interval: u64,
pub startup_failure_escalation_secs: u64,
}Expand description
Engine configuration.
Fields§
§tick_interval: DurationMain tick interval
sync_interval: DurationGitHub sync interval (cleanup, PR review, mentions)
webhook_health_check_interval: Option<Duration>Webhook health check interval (seconds)
max_parallel: usizeMaximum parallel task executions
stuck_timeout: u64Stuck task timeout for tasks with an active tmux session (seconds)
no_session_stuck_timeout: u64Stuck task timeout for tasks with no active tmux session (seconds).
Shorter than stuck_timeout because no session means the agent has already exited.
in_review_no_session_stuck_timeout: u64Stuck task timeout for in_review tasks with no active tmux session (seconds).
Longer than no_session_stuck_timeout because review agents exit their tmux session
on normal completion before the result is delivered to the engine. Using a short
no-session timeout for in_review tasks causes a race where a completed review result
arrives after the stuck recovery has already reset the task to needs_review, discarding
the review work.
auto_create_followup_on_changes: boolAuto-create follow-up tasks when PR reviews request changes
graceful_shutdown_timeout: DurationGraceful shutdown timeout — how long to wait for running agents before exiting.
silence_grace_period: u64Grace period before silence detection kicks in (seconds). Allows time for agent startup, model download, API handshake.
silence_cooldown: u64Cooldown duration for a model detected as silent (seconds).
upgrade_check_interval: u64How often to check for a newer orch release and notify channels (seconds). Set to 0 to disable. Default: 3600 (1 hour).
startup_failure_escalation_secs: u64Seconds of continuous startup failure (GitHub unreachable / auth errors) before the engine escalates from WARN to ERROR-level logging and sends a one-time push notification to configured channels. Set to 0 to disable. Default: 3600 (1 hour).
Implementations§
Source§impl EngineConfig
impl EngineConfig
Sourcepub fn from_config() -> Self
pub fn from_config() -> Self
Load engine configuration from config files, falling back to defaults.
Trait Implementations§
Source§impl Clone for EngineConfig
impl Clone for EngineConfig
Auto Trait Implementations§
impl Freeze for EngineConfig
impl RefUnwindSafe for EngineConfig
impl Send for EngineConfig
impl Sync for EngineConfig
impl Unpin for EngineConfig
impl UnsafeUnpin for EngineConfig
impl UnwindSafe for EngineConfig
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
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> ⓘ
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