WangHan
2024-09-12 d5855a4926926698b740bc6c7ba489de47adb68b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package tech.powerjob.worker.persistence;
 
 
import tech.powerjob.worker.common.constants.TaskStatus;
import tech.powerjob.worker.core.processor.TaskResult;
 
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Optional;
 
/**
 * 任务持久化服务
 *
 * @author tjq
 * @since 2020/3/17
 */
public interface TaskPersistenceService {
 
    void init() throws Exception;
 
    boolean batchSave(List<TaskDO> tasks);
 
    boolean updateTask(Long instanceId, String taskId, TaskDO updateEntity);
 
    boolean updateTaskStatus(Long instanceId, String taskId, int status, long lastReportTime, String result);
 
    boolean updateLostTasks(Long instanceId, List<String> addressList, boolean retry);
 
    Optional<TaskDO> getLastTask(Long instanceId, Long subInstanceId);
 
    List<TaskDO> getAllUnFinishedTaskByAddress(Long instanceId, String address);
 
    List<TaskDO> getTaskByStatus(Long instanceId, TaskStatus status, int limit);
 
    List<TaskDO> getTaskByQuery(Long instanceId, String customQuery);
 
    Map<TaskStatus, Long> getTaskStatusStatistics(Long instanceId, Long subInstanceId);
 
    List<TaskResult> getAllTaskResult(Long instanceId, Long subInstanceId);
 
    Optional<TaskDO> getTask(Long instanceId, String taskId);
 
    boolean deleteAllTasks(Long instanceId);
 
    boolean deleteAllSubInstanceTasks(Long instanceId, Long subInstanceId);
 
    boolean deleteTasksByTaskIds(Long instanceId, Collection<String> taskId);
}