public class DbTaskPersistenceService extends Object implements TaskPersistenceService
| 构造器和说明 |
|---|
DbTaskPersistenceService(StoreStrategy strategy) |
| 限定符和类型 | 方法和说明 |
|---|---|
boolean |
batchSave(List<TaskDO> tasks) |
boolean |
deleteAllSubInstanceTasks(Long instanceId,
Long subInstanceId) |
boolean |
deleteAllTasks(Long instanceId) |
boolean |
deleteTasksByTaskIds(Long instanceId,
Collection<String> taskId) |
List<TaskResult> |
getAllTaskResult(Long instanceId,
Long subInstanceId)
查询所有Task执行结果,reduce阶段 或 postProcess阶段 使用
|
List<TaskDO> |
getAllUnFinishedTaskByAddress(Long instanceId,
String address)
获取某个 ProcessorTracker 未完成的任务
|
Optional<TaskDO> |
getLastTask(Long instanceId,
Long subInstanceId)
获取 MapReduce 或 Broadcast 的最后一个任务
|
Optional<TaskDO> |
getTask(Long instanceId,
String taskId)
根据主键查询 Task
|
List<TaskDO> |
getTaskByQuery(Long instanceId,
String customQuery) |
List<TaskDO> |
getTaskByStatus(Long instanceId,
TaskStatus status,
int limit)
获取指定状态的Task
|
Map<TaskStatus,Long> |
getTaskStatusStatistics(Long instanceId,
Long subInstanceId)
获取 TaskTracker 管理的子 task 状态统计信息
TaskStatus -> num
|
void |
init() |
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 DbTaskPersistenceService(StoreStrategy strategy)
public void init()
throws Exception
init 在接口中 TaskPersistenceServiceExceptionpublic boolean batchSave(List<TaskDO> tasks)
batchSave 在接口中 TaskPersistenceServicepublic boolean updateTask(Long instanceId, String taskId, TaskDO updateEntity)
updateTask 在接口中 TaskPersistenceServicepublic boolean updateTaskStatus(Long instanceId, String taskId, int status, long lastReportTime, String result)
updateTaskStatus 在接口中 TaskPersistenceServicepublic boolean updateLostTasks(Long instanceId, List<String> addressList, boolean retry)
updateLostTasks 在接口中 TaskPersistenceServicepublic Optional<TaskDO> getLastTask(Long instanceId, Long subInstanceId)
getLastTask 在接口中 TaskPersistenceServicepublic List<TaskDO> getAllUnFinishedTaskByAddress(Long instanceId, String address)
getAllUnFinishedTaskByAddress 在接口中 TaskPersistenceServiceinstanceId - instanceIdaddress - addresspublic List<TaskDO> getTaskByStatus(Long instanceId, TaskStatus status, int limit)
getTaskByStatus 在接口中 TaskPersistenceServicepublic Map<TaskStatus,Long> getTaskStatusStatistics(Long instanceId, Long subInstanceId)
public List<TaskResult> getAllTaskResult(Long instanceId, Long subInstanceId)
getAllTaskResult 在接口中 TaskPersistenceServicepublic List<TaskDO> getTaskByQuery(Long instanceId, String customQuery)
getTaskByQuery 在接口中 TaskPersistenceServicepublic Optional<TaskDO> getTask(Long instanceId, String taskId)
getTask 在接口中 TaskPersistenceServicepublic boolean deleteAllTasks(Long instanceId)
deleteAllTasks 在接口中 TaskPersistenceServicepublic boolean deleteAllSubInstanceTasks(Long instanceId, Long subInstanceId)
public boolean deleteTasksByTaskIds(Long instanceId, Collection<String> taskId)
deleteTasksByTaskIds 在接口中 TaskPersistenceServiceCopyright © 2024. All rights reserved.