53 lines
1.1 KiB
Java
53 lines
1.1 KiB
Java
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<IndexingTaskDto> 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();
|
|
}
|