mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-08-20 22:22:57 +03:00
feat(combo): per-combo stickyRoundRobinLimit override on the combos page (#4472)
Thanks @adivekar-utexas! Rebased onto release/v3.8.32 (resolved the additive conflict with #3872's queueDepth). Per-combo stickyRoundRobinLimit override now ships.
This commit is contained in:
@@ -14,7 +14,6 @@ import {
|
||||
} from "@/shared/constants/upstreamHeaders";
|
||||
import { MAX_TIMER_TIMEOUT_MS } from "@/shared/utils/runtimeTimeouts";
|
||||
|
||||
|
||||
// ──── Combo Schemas ────
|
||||
|
||||
export const comboStepMetaSchema = {
|
||||
@@ -135,6 +134,10 @@ export const comboRuntimeConfigSchema = z
|
||||
queueTimeoutMs: z.coerce.number().int().min(1000).max(120000).optional(),
|
||||
// #3872: pre-cascade semaphore queue depth (round-robin). 0 = fail over immediately.
|
||||
queueDepth: z.coerce.number().int().min(0).max(100).optional(),
|
||||
// Per-combo sticky round-robin batch size. When unset, handleRoundRobinCombo
|
||||
// falls back to the global `settings.stickyRoundRobinLimit` so the existing
|
||||
// knob still controls the default. 0 clamps to 1 (no batching) upstream.
|
||||
stickyRoundRobinLimit: z.coerce.number().int().min(0).max(1000).optional(),
|
||||
healthCheckEnabled: z.boolean().optional(),
|
||||
healthCheckTimeoutMs: z.coerce.number().int().min(100).max(30000).optional(),
|
||||
handoffThreshold: z.coerce.number().min(0.5).max(0.94).optional(),
|
||||
@@ -312,4 +315,4 @@ export const reorderCombosSchema = z
|
||||
|
||||
export const testComboSchema = z.object({
|
||||
comboName: z.string().trim().min(1, "comboName is required"),
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user