package com.bjtds.brichat.service; import com.bjtds.brichat.entity.dto.IndexingTaskDto; import java.util.List; /** * 文档索引状态监控队列服务接口 */ public interface IndexingTaskQueueService { /** * 将文档任务添加到Redis队列 * * @param task 索引任务DTO */ void addTaskToQueue(IndexingTaskDto task); /** * 从Redis队列中获取所有待处理的任务 * * @return 任务列表 */ List getAllPendingTasks(); /** * 更新任务状态 * * @param task 更新后的任务信息 */ void updateTask(IndexingTaskDto task); /** * 从队列中移除任务 * * @param documentId 文档ID */ void removeTaskFromQueue(String documentId); /** * 根据文档ID获取任务信息 * * @param documentId 文档ID * @return 任务信息 */ IndexingTaskDto getTaskByDocumentId(String documentId); /** * 清理所有索引任务队列(用于解决序列化问题) */ void clearAllTasks(); }