🌳
pt0/deployF/k8sF/initialSetupF/regcacheF/regcacheServingAI.mts
1const servingCacheH: Record<string, {serving: boolean, ts: number}> = {}
2const servingCacheTtlMs = 60_000
3const probeTimeoutMs = 3_000
5export const isRegcacheServing = async (cacheHost: string): Promise<boolean> => {
6 const cached = servingCacheH[cacheHost]
7 if (cached && Date.now() - cached.ts < servingCacheTtlMs) return cached.serving
8 let serving = false
9 try {
10 const resp = await fetch(`https://${cacheHost}/v2/`, {signal: AbortSignal.timeout(probeTimeoutMs)})
11 serving = resp.status === 200 || resp.status === 401
12 } catch {} // catch:userapproved — probe failure means not serving
13 servingCacheH[cacheHost] = {serving, ts: Date.now()}
14 return serving