feat: add configurable account selection strategies
Refactor account selection into a strategy pattern with three options: - Sticky: cache-optimized, stays on same account until rate-limited - Round-robin: load-balanced, rotates every request - Hybrid (default): smart distribution using health scores, token buckets, and LRU The hybrid strategy uses multiple signals for optimal account selection: health tracking for reliability, client-side token buckets for rate limiting, and LRU freshness to prefer rested accounts. Includes WebUI settings for strategy selection and unit tests. Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -67,7 +67,27 @@ window.AppConstants.VALIDATION = {
|
||||
|
||||
// Max wait threshold (1 - 30 minutes)
|
||||
MAX_WAIT_MIN: 60000,
|
||||
MAX_WAIT_MAX: 1800000
|
||||
MAX_WAIT_MAX: 1800000,
|
||||
|
||||
// Rate limit dedup window (1 - 30 seconds)
|
||||
RATE_LIMIT_DEDUP_MIN: 1000,
|
||||
RATE_LIMIT_DEDUP_MAX: 30000,
|
||||
|
||||
// Consecutive failures (1 - 10)
|
||||
MAX_CONSECUTIVE_FAILURES_MIN: 1,
|
||||
MAX_CONSECUTIVE_FAILURES_MAX: 10,
|
||||
|
||||
// Extended cooldown (10 seconds - 5 minutes)
|
||||
EXTENDED_COOLDOWN_MIN: 10000,
|
||||
EXTENDED_COOLDOWN_MAX: 300000,
|
||||
|
||||
// Capacity retry delay (500ms - 10 seconds)
|
||||
CAPACITY_RETRY_DELAY_MIN: 500,
|
||||
CAPACITY_RETRY_DELAY_MAX: 10000,
|
||||
|
||||
// Capacity retries (1 - 10)
|
||||
MAX_CAPACITY_RETRIES_MIN: 1,
|
||||
MAX_CAPACITY_RETRIES_MAX: 10
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user