fix(server): 数据截止仅统计 active key,停用 key 不拉慢全池水位
This commit is contained in:
@@ -240,6 +240,7 @@ export function adminUsageRoutes() {
|
|||||||
};
|
};
|
||||||
b.key_count += 1;
|
b.key_count += 1;
|
||||||
if (
|
if (
|
||||||
|
v.status === "active" &&
|
||||||
v.log_synced_at &&
|
v.log_synced_at &&
|
||||||
(b.cutoff === null || v.log_synced_at < b.cutoff)
|
(b.cutoff === null || v.log_synced_at < b.cutoff)
|
||||||
) {
|
) {
|
||||||
|
|||||||
@@ -636,12 +636,17 @@ export function createRepos(db: Db) {
|
|||||||
},
|
},
|
||||||
|
|
||||||
keysExtra: {
|
keysExtra: {
|
||||||
/** 全池数据截止 = 最慢 log_synced_at */
|
/** 全池数据截止 = 仍会同步的 key 中最慢 log_synced_at(停用 key 不计) */
|
||||||
async slowestLogSyncedAt(): Promise<Date | null> {
|
async slowestLogSyncedAt(): Promise<Date | null> {
|
||||||
const rows = await db
|
const rows = await db
|
||||||
.select({ t: sql<string | null>`min(${apiKeys.log_synced_at})::text` })
|
.select({ t: sql<string | null>`min(${apiKeys.log_synced_at})::text` })
|
||||||
.from(apiKeys)
|
.from(apiKeys)
|
||||||
.where(sql`${apiKeys.log_synced_at} is not null`);
|
.where(
|
||||||
|
and(
|
||||||
|
eq(apiKeys.status, "active"),
|
||||||
|
sql`${apiKeys.log_synced_at} is not null`,
|
||||||
|
),
|
||||||
|
);
|
||||||
const raw = rows[0]?.t;
|
const raw = rows[0]?.t;
|
||||||
if (!raw) return null;
|
if (!raw) return null;
|
||||||
const d = new Date(raw);
|
const d = new Date(raw);
|
||||||
|
|||||||
Reference in New Issue
Block a user