package com.purui.prims.headless.server.service;

import com.purui.prims.common.pojo.PersistenceConf;
import com.purui.prims.dscheduler.model.DSTaskRequest;
import com.purui.prims.dscheduler.model.TaskInstance;
import com.purui.prims.dscheduler.model.TaskLog;

import java.util.List;

/**
 * SchedulerService接口
 *
 * @author charlie
 * @date 2024/7/12
 */
public interface SchedulerService {

    boolean releaseWorkflow(String processName, boolean publishFlag, PersistenceConf persistenceConf);

    boolean pushWorkflow(String processName, List<DSTaskRequest> taskRequests, PersistenceConf persistenceConf);

    TaskLog queryTaskLog(int instanceId);

    List<TaskInstance> getTaskInstances(String taskName, String startDate, String endDate);

    Long getProjectCode();

    boolean runTask(Long metricId);

    int getSourceId();

    int getTargetId();

    String getSourceType();

    String getTargetType();
}
