diff options
Diffstat (limited to 'makima/src/daemon/config.rs')
| -rw-r--r-- | makima/src/daemon/config.rs | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/makima/src/daemon/config.rs b/makima/src/daemon/config.rs index 476b57e..9a00166 100644 --- a/makima/src/daemon/config.rs +++ b/makima/src/daemon/config.rs @@ -198,10 +198,15 @@ pub struct ProcessConfig { #[serde(default, alias = "disableverbose")] pub disable_verbose: bool, - /// Maximum concurrent tasks. + /// Maximum concurrent tasks (global cap). #[serde(default = "default_max_tasks", alias = "maxconcurrenttasks")] pub max_concurrent_tasks: u32, + /// Maximum concurrent tasks per contract/supervisor. + /// Standalone tasks are treated as their own single-task contract. + #[serde(default = "default_max_tasks_per_contract", alias = "maxtaskspercontract")] + pub max_tasks_per_contract: u32, + /// Default timeout for tasks in seconds (0 = no timeout). #[serde(default, alias = "defaulttimeoutsecs")] pub default_timeout_secs: u64, @@ -232,6 +237,10 @@ fn default_max_tasks() -> u32 { 4 } +fn default_max_tasks_per_contract() -> u32 { + 10 +} + impl Default for ProcessConfig { fn default() -> Self { Self { @@ -241,6 +250,7 @@ impl Default for ProcessConfig { enable_permissions: false, disable_verbose: false, max_concurrent_tasks: default_max_tasks(), + max_tasks_per_contract: default_max_tasks_per_contract(), default_timeout_secs: 0, env_vars: HashMap::new(), bubblewrap: BubblewrapConfig::default(), @@ -561,9 +571,11 @@ impl DaemonConfig { enable_permissions: false, disable_verbose: false, max_concurrent_tasks: 2, + max_tasks_per_contract: 10, default_timeout_secs: 0, env_vars: HashMap::new(), bubblewrap: BubblewrapConfig::default(), + heartbeat_commit_interval_secs: 300, }, local_db: LocalDbConfig { path: PathBuf::from("/tmp/makima-daemon-test/state.db"), |
