refactor: centralize concurrency resolution

This commit is contained in:
Peter Steinberger
2026-01-20 10:37:43 +00:00
parent e110cf4fb1
commit 0f9f510dd9
5 changed files with 88 additions and 26 deletions

View File

@@ -1,18 +1,9 @@
import type { loadConfig } from "../config/config.js";
import {
DEFAULT_AGENT_MAX_CONCURRENT,
DEFAULT_SUBAGENT_MAX_CONCURRENT,
} from "../config/agent-limits.js";
import { resolveAgentMaxConcurrent, resolveSubagentMaxConcurrent } from "../config/agent-limits.js";
import { setCommandLaneConcurrency } from "../process/command-queue.js";
export function applyGatewayLaneConcurrency(cfg: ReturnType<typeof loadConfig>) {
setCommandLaneConcurrency("cron", cfg.cron?.maxConcurrentRuns ?? 1);
setCommandLaneConcurrency(
"main",
cfg.agents?.defaults?.maxConcurrent ?? DEFAULT_AGENT_MAX_CONCURRENT,
);
setCommandLaneConcurrency(
"subagent",
cfg.agents?.defaults?.subagents?.maxConcurrent ?? DEFAULT_SUBAGENT_MAX_CONCURRENT,
);
setCommandLaneConcurrency("main", resolveAgentMaxConcurrent(cfg));
setCommandLaneConcurrency("subagent", resolveSubagentMaxConcurrent(cfg));
}