fix(web-server): run usage cleanup during dashboard shutdown

- pass server cleanup callback into graceful shutdown wiring

- stop usage aggregator background sync when config server exits

- prevent orphaned sync intervals across dashboard restarts
This commit is contained in:
Tam Nhu Tran
2026-03-03 23:05:24 +07:00
parent d1b4c5fbdf
commit e8519b6ac3
2 changed files with 4 additions and 2 deletions
+2 -2
View File
@@ -160,10 +160,10 @@ export async function handleConfigCommand(args: string[]): Promise<void> {
try {
// Start server
const { server, wss } = await startServer({ port, dev: options.dev });
const { server, wss, cleanup } = await startServer({ port, dev: options.dev });
// Setup graceful shutdown
setupGracefulShutdown(server, wss);
setupGracefulShutdown(server, wss, cleanup);
const url = `http://localhost:${port}`;
+2
View File
@@ -13,6 +13,7 @@ import { WebSocketServer } from 'ws';
import { setupWebSocket } from './websocket';
import { createSessionMiddleware, authMiddleware } from './middleware/auth-middleware';
import { startAutoSyncWatcher, stopAutoSyncWatcher } from '../cliproxy/sync';
import { shutdownUsageAggregator } from './usage/aggregator';
export interface ServerOptions {
port: number;
@@ -107,6 +108,7 @@ export async function startServer(options: ServerOptions): Promise<ServerInstanc
const cleanup = () => {
wsCleanup();
stopAutoSyncWatcher().catch(() => {});
shutdownUsageAggregator();
};
// Start listening