public class TaskPersistenceService extends Object
| 构造器和说明 |
|---|
TaskPersistenceService(StoreStrategy strategy) |
| 限定符和类型 | 方法和说明 |
|---|---|
boolean |
batchSave(List<TaskDO> tasks) |
boolean |
batchUpdateTaskStatus(Long instanceId,
List<String> taskIds,
TaskStatus status,
String result)
批量更新 Task 状态
|
boolean |
deleteAllSubInstanceTasks(Long instanceId,
Long subInstanceId) |
boolean |
deleteAllTasks(Long instanceId) |
List<TaskDO> |
getAllTask(Long instanceId,
Long subInstanceId) |
List<TaskResult> |
getAllTaskResult(Long instanceId,
Long subInstanceId)
查询所有Task执行结果,reduce阶段 或 postProcess阶段 使用
|
List<TaskDO> |
getAllUnFinishedTaskByAddress(Long instanceId,
String address) |
Optional<TaskDO> |
getLastTask(Long instanceId,
Long subInstanceId)
获取 MapReduce 或 Broadcast 的最后一个任务
|
Optional<TaskDO> |
getTask(Long instanceId,
String taskId)
根据主键查询 Task
|
List<TaskDO> |
getTaskByStatus(Long instanceId,
TaskStatus status,
int limit)
获取指定状态的Task
|
Optional<TaskStatus> |
getTaskStatus(Long instanceId,
String taskId)
查询任务状态(只查询 status,节约 I/O 资源 -> 测试表明,在(我高端的NVMe)SSD上都效果惊人...别说一般的HDD了...磁盘I/O果然是重要瓶颈...)
|
Map<TaskStatus,Long> |
getTaskStatusStatistics(Long instanceId,
Long subInstanceId)
获取 TaskTracker 管理的子 task 状态统计信息
TaskStatus -> num
|
void |
init() |
List<TaskDO> |
listAll() |
boolean |
save(TaskDO task) |
boolean |
updateLostTasks(Long instanceId,
List<String> addressList,
boolean retry)
更新被派发到已经失联的 ProcessorTracker 的任务,重新执行
update task_info
set address = 'N/A', status = 0
where address in () and status not in (5,6) and instance_id = 277
|
boolean |
updateTask(Long instanceId,
String taskId,
TaskDO updateEntity)
依靠主键更新 Task(不涉及 result 的,都可以用该方法更新)
|
boolean |
updateTaskStatus(Long instanceId,
String taskId,
int status,
long lastReportTime,
String result)
更新任务状态
|
public TaskPersistenceService(StoreStrategy strategy)
public boolean save(TaskDO task)
public boolean updateTask(Long instanceId, String taskId, TaskDO updateEntity)
public boolean updateTaskStatus(Long instanceId, String taskId, int status, long lastReportTime, String result)
public boolean updateLostTasks(Long instanceId, List<String> addressList, boolean retry)
public Optional<TaskDO> getLastTask(Long instanceId, Long subInstanceId)
public List<TaskDO> getAllUnFinishedTaskByAddress(Long instanceId, String address)
public List<TaskDO> getTaskByStatus(Long instanceId, TaskStatus status, int limit)
public Map<TaskStatus,Long> getTaskStatusStatistics(Long instanceId, Long subInstanceId)
public List<TaskResult> getAllTaskResult(Long instanceId, Long subInstanceId)
public Optional<TaskStatus> getTaskStatus(Long instanceId, String taskId)
public boolean batchUpdateTaskStatus(Long instanceId, List<String> taskIds, TaskStatus status, String result)
public boolean deleteAllTasks(Long instanceId)
public boolean deleteAllSubInstanceTasks(Long instanceId, Long subInstanceId)
Copyright © 2023. All rights reserved.