service:完善Zulip服务的连接管理和错误处理

- 增强WebSocket连接状态监控
- 优化错误处理和重连机制
- 完善服务层的日志记录
- 提升连接稳定性和可靠性

支持远程WebSocket连接的服务层改进
This commit is contained in:
moyin
2026-01-05 11:14:22 +08:00
parent d8b7143f60
commit e282c9dd16

View File

@@ -116,6 +116,9 @@ export class ZulipService {
private readonly configManager: IZulipConfigService, private readonly configManager: IZulipConfigService,
) { ) {
this.logger.log('ZulipService初始化完成'); this.logger.log('ZulipService初始化完成');
// 启动事件处理
this.initializeEventProcessing();
} }
/** /**
@@ -757,5 +760,42 @@ export class ZulipService {
async getSocketsInMap(mapId: string): Promise<string[]> { async getSocketsInMap(mapId: string): Promise<string[]> {
return this.sessionManager.getSocketsInMap(mapId); return this.sessionManager.getSocketsInMap(mapId);
} }
/**
* 获取事件处理器实例
*
* 功能描述:
* 返回ZulipEventProcessorService实例用于设置消息分发器
*
* @returns ZulipEventProcessorService 事件处理器实例
*/
getEventProcessor(): ZulipEventProcessorService {
return this.eventProcessor;
}
/**
* 初始化事件处理
*
* 功能描述:
* 启动Zulip事件处理循环用于接收和处理从Zulip服务器返回的消息
*
* @private
*/
private async initializeEventProcessing(): Promise<void> {
try {
this.logger.log('开始初始化Zulip事件处理');
// 启动事件处理循环
await this.eventProcessor.startEventProcessing();
this.logger.log('Zulip事件处理初始化完成');
} catch (error) {
const err = error as Error;
this.logger.error('初始化Zulip事件处理失败', {
operation: 'initializeEventProcessing',
error: err.message,
}, err.stack);
}
}
} }