mirror of
https://github.com/Wei-Shaw/claude-relay-service.git
synced 2026-01-23 09:38:02 +00:00
Merge remote-tracking branch 'f3n9/main' into user-management-new
This commit is contained in:
40
src/app.js
40
src/app.js
@@ -10,6 +10,7 @@ const config = require('../config/config')
|
||||
const logger = require('./utils/logger')
|
||||
const redis = require('./models/redis')
|
||||
const pricingService = require('./services/pricingService')
|
||||
const cacheMonitor = require('./utils/cacheMonitor')
|
||||
|
||||
// Import routes
|
||||
const apiRoutes = require('./routes/api')
|
||||
@@ -21,6 +22,7 @@ const openaiGeminiRoutes = require('./routes/openaiGeminiRoutes')
|
||||
const openaiClaudeRoutes = require('./routes/openaiClaudeRoutes')
|
||||
const openaiRoutes = require('./routes/openaiRoutes')
|
||||
const userRoutes = require('./routes/userRoutes')
|
||||
const webhookRoutes = require('./routes/webhook')
|
||||
|
||||
// Import middleware
|
||||
const {
|
||||
@@ -49,6 +51,9 @@ class Application {
|
||||
logger.info('🔄 Initializing pricing service...')
|
||||
await pricingService.initialize()
|
||||
|
||||
// 📊 初始化缓存监控
|
||||
await this.initializeCacheMonitoring()
|
||||
|
||||
// 🔧 初始化管理员凭据
|
||||
logger.info('🔄 Initializing admin credentials...')
|
||||
await this.initializeAdmin()
|
||||
@@ -238,6 +243,7 @@ class Application {
|
||||
this.app.use('/openai/gemini', openaiGeminiRoutes)
|
||||
this.app.use('/openai/claude', openaiClaudeRoutes)
|
||||
this.app.use('/openai', openaiRoutes)
|
||||
this.app.use('/admin/webhook', webhookRoutes)
|
||||
|
||||
// 🏠 根路径重定向到新版管理界面
|
||||
this.app.get('/', (req, res) => {
|
||||
@@ -456,6 +462,40 @@ class Application {
|
||||
}
|
||||
}
|
||||
|
||||
// 📊 初始化缓存监控
|
||||
async initializeCacheMonitoring() {
|
||||
try {
|
||||
logger.info('🔄 Initializing cache monitoring...')
|
||||
|
||||
// 注册各个服务的缓存实例
|
||||
const services = [
|
||||
{ name: 'claudeAccount', service: require('./services/claudeAccountService') },
|
||||
{ name: 'claudeConsole', service: require('./services/claudeConsoleAccountService') },
|
||||
{ name: 'bedrockAccount', service: require('./services/bedrockAccountService') }
|
||||
]
|
||||
|
||||
// 注册已加载的服务缓存
|
||||
for (const { name, service } of services) {
|
||||
if (service && (service._decryptCache || service.decryptCache)) {
|
||||
const cache = service._decryptCache || service.decryptCache
|
||||
cacheMonitor.registerCache(`${name}_decrypt`, cache)
|
||||
logger.info(`✅ Registered ${name} decrypt cache for monitoring`)
|
||||
}
|
||||
}
|
||||
|
||||
// 初始化时打印一次统计
|
||||
setTimeout(() => {
|
||||
const stats = cacheMonitor.getGlobalStats()
|
||||
logger.info(`📊 Cache System - Registered: ${stats.cacheCount} caches`)
|
||||
}, 5000)
|
||||
|
||||
logger.success('✅ Cache monitoring initialized')
|
||||
} catch (error) {
|
||||
logger.error('❌ Failed to initialize cache monitoring:', error)
|
||||
// 不阻止应用启动
|
||||
}
|
||||
}
|
||||
|
||||
startCleanupTasks() {
|
||||
// 🧹 每小时清理一次过期数据
|
||||
setInterval(async () => {
|
||||
|
||||
Reference in New Issue
Block a user