All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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