fix(codex): align primer warmup with fixed slots

This commit is contained in:
Codex
2026-05-28 18:29:51 +09:00
parent cf9bf08197
commit 85085e2782
3 changed files with 95 additions and 7 deletions

View File

@@ -21,6 +21,9 @@ import { getAllTokens } from './token-rotation.js';
const PRIMER_HOURS_KST = [8, 13, 18, 23];
const KST_OFFSET_MS = 9 * 60 * 60 * 1000;
const CLAUDE_PRIMER_TIMEOUT_MS = 60_000;
const CODEX_PRIMER_MIN_INTERVAL_MS = 5 * 60 * 60 * 1000;
const CODEX_PRIMER_MAX_USAGE_PCT = 0;
const CODEX_PRIMER_MAX_D7_USAGE_PCT = 100;
function resolveClaudeBinary(): string {
const candidates = [
@@ -130,7 +133,16 @@ async function runClaudePrimerCycle(): Promise<void> {
async function runCodexPrimerCycle(): Promise<void> {
try {
const result = await runCodexWarmupCycle(CODEX_WARMUP_CONFIG);
const result = await runCodexWarmupCycle(
{
...CODEX_WARMUP_CONFIG,
enabled: true,
minIntervalMs: CODEX_PRIMER_MIN_INTERVAL_MS,
maxUsagePct: CODEX_PRIMER_MAX_USAGE_PCT,
maxD7UsagePct: CODEX_PRIMER_MAX_D7_USAGE_PCT,
},
{ ignoreZeroUsageWindow: true },
);
logger.info({ result }, 'Codex primer cycle finished');
} catch (err) {
logger.warn({ err }, 'Codex primer cycle threw');