
tech.powerjob.worker.persistence.TaskPersistenceService Maven / Gradle / Ivy
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 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 addressList, boolean retry);
Optional getLastTask(Long instanceId, Long subInstanceId);
List getAllUnFinishedTaskByAddress(Long instanceId, String address);
List getTaskByStatus(Long instanceId, TaskStatus status, int limit);
List getTaskByQuery(Long instanceId, String customQuery);
Map getTaskStatusStatistics(Long instanceId, Long subInstanceId);
List getAllTaskResult(Long instanceId, Long subInstanceId);
Optional getTask(Long instanceId, String taskId);
boolean deleteAllTasks(Long instanceId);
boolean deleteAllSubInstanceTasks(Long instanceId, Long subInstanceId);
boolean deleteTasksByTaskIds(Long instanceId, Collection taskId);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy