#[non_exhaustive]pub struct AppConfig {Show 24 fields
pub app_id: String,
pub dev_mode_force_sync: bool,
pub max_pending_seconds: u64,
pub heartbeat_interval_seconds: u64,
pub runner_dead_after_seconds: u64,
pub recovery_check_interval_seconds: u64,
pub print_arguments: bool,
pub argument_print_mode: ArgumentPrintMode,
pub truncate_arguments_length: usize,
pub recover_pending_cron: String,
pub recover_running_cron: String,
pub trigger_task_modules: Vec<String>,
pub cached_status_time_seconds: f64,
pub logging_level: String,
pub log_format: LogFormat,
pub log_use_colors: Option<bool>,
pub compact_log_context: bool,
pub blocking_control: bool,
pub auto_final_invocation_purge_hours: f64,
pub scheduler_interval_seconds: u64,
pub enable_scheduler: bool,
pub atomic_service_interval_minutes: f64,
pub atomic_service_spread_margin_minutes: f64,
pub atomic_service_check_interval_minutes: f64,
}Expand description
Global application configuration.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.app_id: StringUnique identifier for this application instance
dev_mode_force_sync: boolForce synchronous task execution (for development/testing)
max_pending_seconds: u64Maximum time an invocation can be pending before recovery (seconds)
heartbeat_interval_seconds: u64Heartbeat interval for runners (seconds)
runner_dead_after_seconds: u64Runners without a heartbeat for this long are considered dead (seconds)
recovery_check_interval_seconds: u64How often to scan for stale invocations (seconds)
print_arguments: boolWhether to display arguments in logs
argument_print_mode: ArgumentPrintModeHow arguments are displayed in logs/monitoring
truncate_arguments_length: usizeMaximum length for truncated argument display
recover_pending_cron: StringCron expression for recovering pending invocations (empty = disabled)
recover_running_cron: StringCron expression for recovering running invocations from dead runners (empty = disabled)
trigger_task_modules: Vec<String>Module paths to scan for trigger task registration
cached_status_time_seconds: f64TTL for cached invocation status checks (seconds, 0 = no cache)
logging_level: StringLogging level (trace, debug, info, warn, error)
log_format: LogFormatLog output format (Text or Json)
log_use_colors: Option<bool>Whether to use ANSI colors in text format (None = auto-detect TTY)
compact_log_context: boolWhether to show compact context (abbreviated names, truncated IDs)
blocking_control: boolBlocking control — whether orchestrator uses blocking/waiting semantics
auto_final_invocation_purge_hours: f64Hours after which final invocations can be auto-purged (0 = disabled)
scheduler_interval_seconds: u64Scheduler evaluation interval in seconds (trigger scheduler)
enable_scheduler: boolWhether the scheduler is enabled
atomic_service_interval_minutes: f64Total cycle interval for atomic global services (triggers, recovery, etc.) in minutes. The interval is divided equally among all active runners.
atomic_service_spread_margin_minutes: f64Safety margin (minutes) subtracted from each runner’s time slot to prevent overlapping execution of atomic services across distributed runners.
atomic_service_check_interval_minutes: f64How frequently an individual runner checks if it should execute atomic
global services (minutes). Should be less than atomic_service_interval_minutes.
Implementations§
Trait Implementations§
Source§impl Config for AppConfig
impl Config for AppConfig
Source§fn defaults() -> AppConfig
fn defaults() -> AppConfig
Default (e.g., None for Option<T>).