fix: 对齐评分刷新超时

This commit is contained in:
root
2026-07-16 11:01:24 +02:00
parent cc3ec3b1b3
commit 81c7b9c4fd
+5 -3
View File
@@ -8,14 +8,14 @@ export class AdminHttpClient {
this.token = readSecret(config, target.adminToken); this.token = readSecret(config, target.adminToken);
} }
private async request<T>(path: string, init: RequestInit = {}): Promise<T> { private async request<T>(path: string, init: RequestInit = {}, timeoutMs = this.config.sub2api.requestTimeoutMs): Promise<T> {
const headers = new Headers(init.headers); const headers = new Headers(init.headers);
headers.set("authorization", `Bearer ${this.token}`); headers.set("authorization", `Bearer ${this.token}`);
if (init.body) headers.set("content-type", "application/json"); if (init.body) headers.set("content-type", "application/json");
const response = await fetch(`${this.target.baseUrl.replace(/\/$/u, "")}${path}`, { const response = await fetch(`${this.target.baseUrl.replace(/\/$/u, "")}${path}`, {
...init, ...init,
headers, headers,
signal: AbortSignal.timeout(this.config.sub2api.requestTimeoutMs), signal: AbortSignal.timeout(timeoutMs),
}); });
const payload = await response.json().catch(() => null) as { ok?: boolean; error?: string } | null; const payload = await response.json().catch(() => null) as { ok?: boolean; error?: string } | null;
if (!response.ok || !payload) throw new Error(payload?.error ?? `ApiState API failed with HTTP ${response.status}`); if (!response.ok || !payload) throw new Error(payload?.error ?? `ApiState API failed with HTTP ${response.status}`);
@@ -33,7 +33,9 @@ export class AdminHttpClient {
creditTest(execute: boolean): Promise<Record<string, unknown>> { return this.request("/api/admin/credit-test", { method: "POST", body: JSON.stringify({ execute }) }); } creditTest(execute: boolean): Promise<Record<string, unknown>> { return this.request("/api/admin/credit-test", { method: "POST", body: JSON.stringify({ execute }) }); }
serviceStatus(): Promise<Record<string, unknown>> { return this.request("/api/status"); } serviceStatus(): Promise<Record<string, unknown>> { return this.request("/api/status"); }
scores(): Promise<Record<string, unknown>> { return this.request("/api/scores"); } scores(): Promise<Record<string, unknown>> { return this.request("/api/scores"); }
refreshScores(): Promise<Record<string, unknown>> { return this.request("/api/scores/refresh", { method: "POST", body: "{}" }); } refreshScores(): Promise<Record<string, unknown>> {
return this.request("/api/scores/refresh", { method: "POST", body: "{}" }, this.config.monitor.cli.timeoutMs + 5_000);
}
ranking(): Promise<Record<string, unknown>> { return this.request("/api/ranking"); } ranking(): Promise<Record<string, unknown>> { return this.request("/api/ranking"); }
lottery(): Promise<Record<string, unknown>> { return this.request("/api/lottery"); } lottery(): Promise<Record<string, unknown>> { return this.request("/api/lottery"); }
} }