Update index.ts
This commit is contained in:
@@ -29,6 +29,28 @@ import './services/notification.processor.service'; // 确保处理器被加载
|
||||
import './services/notification.dispatcher.service'; // 确保分发器被加载并监听处理器事件
|
||||
// --- 结束通知系统初始化 ---
|
||||
// --- 环境变量和密钥初始化 ---
|
||||
|
||||
// --- 全局错误处理 ---
|
||||
// 捕获未处理的 Promise Rejection
|
||||
process.on('unhandledRejection', (reason: any, promise: Promise<any>) => {
|
||||
console.error('---未处理的 Promise Rejection---');
|
||||
console.error('原因:', reason);
|
||||
// 可以在这里添加更详细的日志记录,例如将错误发送到监控系统
|
||||
// 注意:根据 Node.js 官方建议,未来版本的 Node.js 可能会默认在 unhandledRejection 时终止进程。
|
||||
// 目前我们选择记录错误并继续运行,但这可能导致应用程序状态不一致。
|
||||
});
|
||||
|
||||
// 捕获未捕获的同步异常
|
||||
process.on('uncaughtException', (error: Error) => {
|
||||
console.error('---未捕获的异常---');
|
||||
console.error('错误:', error);
|
||||
// 记录错误,但避免退出进程,尝试让服务器继续运行(有风险)
|
||||
// 在生产环境中,更安全的做法可能是记录错误后优雅地关闭服务器并重启。
|
||||
// process.exit(1); // 强制退出(更安全,但会中断服务)
|
||||
});
|
||||
// --- 结束全局错误处理 ---
|
||||
|
||||
|
||||
const initializeEnvironment = async () => {
|
||||
// 1. 加载根目录的 .env 文件 (定义部署模式等)
|
||||
// 注意: __dirname 在 dist/src 中,所以需要回退三级到项目根目录
|
||||
|
||||
Reference in New Issue
Block a user