fix(workbench): gc stale empty sessions
This commit is contained in:
@@ -68,6 +68,7 @@ import {
|
||||
handleCodeAgentTraceHttp
|
||||
} from "./server-code-agent-http.ts";
|
||||
import { handleWorkbenchReadModelHttp, handleWorkbenchRealtimeHttp } from "./server-workbench-http.ts";
|
||||
import { startWorkbenchEmptySessionGc } from "./workbench-empty-session-gc.ts";
|
||||
import { handleM3IoControlHttp } from "./server-m3-http.ts";
|
||||
import { handleSkillsHttp } from "./server-skills-http.ts";
|
||||
import { handleProviderProfileCatalogHttp, handleProviderProfilesHttp } from "./provider-profile-management.ts";
|
||||
@@ -115,7 +116,8 @@ export function createCloudApiServer(options = {}) {
|
||||
if (typeof accessController.configureCodeAgentWorkspaceContext === "function") {
|
||||
accessController.configureCodeAgentWorkspaceContext({ env, fetchImpl: options.fetchImpl, traceStore, codeAgentChatResults });
|
||||
}
|
||||
return createServer(async (request, response) => {
|
||||
const workbenchEmptySessionGc = startWorkbenchEmptySessionGc({ env, accessController, logger: console });
|
||||
const server = createServer(async (request, response) => {
|
||||
const backendPerformance = backendPerformanceStore.beginHttpRequest(request, response);
|
||||
await withBackendPerformanceContext(backendPerformance, async () => {
|
||||
try {
|
||||
@@ -133,6 +135,8 @@ export function createCloudApiServer(options = {}) {
|
||||
}
|
||||
});
|
||||
});
|
||||
server.on("close", () => workbenchEmptySessionGc.stop());
|
||||
return server;
|
||||
}
|
||||
|
||||
export function ensureCodeAgentRuntimeBase(env = process.env) {
|
||||
|
||||
Reference in New Issue
Block a user