const logger = require('./logger'); const config = require('../config/env'); //全局限流配置 let requestCount = 0; let lastResetTime = Date.now(); //熔断检查器 function checkCircuitBreaker() { const now = Date.now(); if (now - lastResetTime > config.app.rate) { requestCount = 0; lastResetTime = now; } requestCount++; if (requestCount > config.app.maxRequests) { const msg = `Circuit breaker triggered: Exceeded ${config.app.maxRequests} requests in ${config.app.rate/1000}s. Exiting...`; //同步写入fatal日志 logger.fatal("============================"); logger.fatal(`${msg}`); logger.fatal("============================"); if (!config.app.debugMode) { process.exit(1); } else { logger.warn('Debug mode enabled, not exiting.'); requestCount = 0; } return false; } return true; } module.exports = { checkCircuitBreaker };