Files
contract-manager/.trae/rules/server_task_rules.md
songqq a784438e97 feat: 实现员工同步任务的WebSocket支持及合同名称锁定功能
- 为EmployeesSyncTask添加WebSocket客户端和服务端支持,实现实时任务进度反馈
- 新增合同名称锁定功能,防止误修改重要合同名称
- 优化SmbFileService的连接异常处理,提高稳定性
- 重构ContractFilesRebuildTasker的任务执行逻辑,改进错误处理
- 更新tasker_mapper.json注册EmployeesSyncTask
- 添加相关任务文档和验收报告

修复WebSocketClientSession的任务完成状态处理问题
改进UITools中任务执行的线程管理
优化DepartmentService的findByCode方法返回类型
2025-11-20 16:26:34 +08:00

14 KiB
Raw Permalink Blame History

WebSocketServerTasker 接口实现规范

1. 概述

本文档总结了实现 WebSocketServerTasker 接口的标准做法和最佳实践基于对项目中已有实现类的分析。该接口用于服务器端实现支持WebSocket通信的任务处理器实现异步任务的执行和状态监控。

2. WebSocketServerTasker 接口介绍

WebSocketServerTasker 接口位于 com.ecep.contract.service.tasker 包下,继承自 java.util.concurrent.Callable<Object>,定义了以下核心方法:

public interface WebSocketServerTasker extends Callable<Object> {
    // 初始化任务,处理传入的参数
    void init(JsonNode argsNode);
    
    // 设置会话信息(默认实现为空)
    default void setSession(SessionInfo session) {}
    
    // 设置消息处理函数
    void setMessageHandler(Predicate<Message> messageHandler);
    
    // 设置标题处理函数
    void setTitleHandler(Predicate<String> titleHandler);
    
    // 设置属性处理函数
    void setPropertyHandler(BiConsumer<String, Object> propertyHandler);
    
    // 设置进度处理函数
    void setProgressHandler(BiConsumer<Long, Long> progressHandler);
}

3. 基础实现模式

3.1 推荐实现方式

通过分析项目中的实现类,推荐以下标准实现模式:

  1. 继承 Tasker