修正資料庫未關閉問題
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
import { db } from './database';
|
||||
import { dbFailover } from './database-failover';
|
||||
import { dbMonitor } from './database-monitor';
|
||||
import { connectionMonitor } from './connection-monitor';
|
||||
|
||||
export class DatabaseShutdownManager {
|
||||
private static instance: DatabaseShutdownManager;
|
||||
@@ -57,6 +58,17 @@ export class DatabaseShutdownManager {
|
||||
}
|
||||
});
|
||||
|
||||
// 添加連線監控關閉處理器
|
||||
this.addShutdownHandler('connection-monitor', async () => {
|
||||
console.log('🔄 正在停止連線監控服務...');
|
||||
try {
|
||||
connectionMonitor.stopMonitoring();
|
||||
console.log('✅ 連線監控服務已停止');
|
||||
} catch (error) {
|
||||
console.error('❌ 停止連線監控服務時發生錯誤:', error);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// 註冊系統信號處理器
|
||||
this.registerSystemHandlers();
|
||||
@@ -75,6 +87,21 @@ export class DatabaseShutdownManager {
|
||||
});
|
||||
}
|
||||
|
||||
// 初始化服務
|
||||
public initialize(): void {
|
||||
console.log('🚀 初始化資料庫服務...');
|
||||
|
||||
// 啟動連線監控
|
||||
try {
|
||||
connectionMonitor.startMonitoring(30000); // 30秒檢查一次
|
||||
console.log('✅ 連線監控已啟動');
|
||||
} catch (error) {
|
||||
console.error('❌ 啟動連線監控失敗:', error);
|
||||
}
|
||||
|
||||
console.log('✅ 資料庫服務初始化完成');
|
||||
}
|
||||
|
||||
// 註冊系統信號處理器
|
||||
private registerSystemHandlers() {
|
||||
if (typeof process === 'undefined') return;
|
||||
|
Reference in New Issue
Block a user