diff --git a/server/_shared/redis.ts b/server/_shared/redis.ts index be9746d2f4..f103ec1f07 100644 --- a/server/_shared/redis.ts +++ b/server/_shared/redis.ts @@ -81,11 +81,18 @@ export async function setCachedJson(key: string, value: unknown, ttlSeconds: num if (!url || !token) return; try { // Atomic SET with EX — single call avoids race between SET and EXPIRE (C-3 fix) - await fetch(`${url}/set/${encodeURIComponent(prefixKey(key))}/${encodeURIComponent(JSON.stringify(value))}/EX/${ttlSeconds}`, { + const resp = await fetch(`${url}/`, { method: 'POST', - headers: { Authorization: `Bearer ${token}` }, - signal: AbortSignal.timeout(REDIS_OP_TIMEOUT_MS), + headers: { + Authorization: `Bearer ${token}`, + 'Content-Type': 'application/json', + }, + body: JSON.stringify(['SET', prefixKey(key), JSON.stringify(value), 'EX', String(ttlSeconds)]), + signal: AbortSignal.timeout(REDIS_PIPELINE_TIMEOUT_MS), }); + if (!resp.ok) { + console.warn(`[redis] setCachedJson HTTP ${resp.status}`); + } } catch (err) { console.warn('[redis] setCachedJson failed:', errMsg(err)); }