mirror of
https://github.com/slhaf/Partner.git
synced 2026-05-12 08:43:02 +08:00
refactor(action): make LocalRunnerClient as default runner client
This commit is contained in:
@@ -6,6 +6,7 @@ import lombok.val;
|
|||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import work.slhaf.partner.api.agent.factory.capability.annotation.CapabilityCore;
|
import work.slhaf.partner.api.agent.factory.capability.annotation.CapabilityCore;
|
||||||
import work.slhaf.partner.api.agent.factory.capability.annotation.CapabilityMethod;
|
import work.slhaf.partner.api.agent.factory.capability.annotation.CapabilityMethod;
|
||||||
|
import work.slhaf.partner.api.agent.runtime.config.ConfigCenter;
|
||||||
import work.slhaf.partner.core.PartnerCore;
|
import work.slhaf.partner.core.PartnerCore;
|
||||||
import work.slhaf.partner.core.action.entity.ExecutableAction;
|
import work.slhaf.partner.core.action.entity.ExecutableAction;
|
||||||
import work.slhaf.partner.core.action.entity.MetaAction;
|
import work.slhaf.partner.core.action.entity.MetaAction;
|
||||||
@@ -13,8 +14,8 @@ import work.slhaf.partner.core.action.entity.MetaActionInfo;
|
|||||||
import work.slhaf.partner.core.action.entity.intervention.InterventionType;
|
import work.slhaf.partner.core.action.entity.intervention.InterventionType;
|
||||||
import work.slhaf.partner.core.action.entity.intervention.MetaIntervention;
|
import work.slhaf.partner.core.action.entity.intervention.MetaIntervention;
|
||||||
import work.slhaf.partner.core.action.exception.MetaActionNotFoundException;
|
import work.slhaf.partner.core.action.exception.MetaActionNotFoundException;
|
||||||
|
import work.slhaf.partner.core.action.runner.LocalRunnerClient;
|
||||||
import work.slhaf.partner.core.action.runner.RunnerClient;
|
import work.slhaf.partner.core.action.runner.RunnerClient;
|
||||||
import work.slhaf.partner.core.action.runner.SandboxRunnerClient;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
@@ -47,8 +48,9 @@ public class ActionCore extends PartnerCore<ActionCore> {
|
|||||||
private RunnerClient runnerClient;
|
private RunnerClient runnerClient;
|
||||||
|
|
||||||
public ActionCore() throws IOException, ClassNotFoundException {
|
public ActionCore() throws IOException, ClassNotFoundException {
|
||||||
// TODO 通过 AgentConfigManager指定采用何种 runnerClient
|
String baseActionPath = ConfigCenter.INSTANCE.getPaths().getResourcesDir().resolve("action").normalize().toAbsolutePath().toString();
|
||||||
runnerClient = new SandboxRunnerClient(existedMetaActions, virtualExecutor);
|
// TODO 通过 Config 指定采用何种 runnerClient,当前只提供 LocalRunnerClient
|
||||||
|
runnerClient = new LocalRunnerClient(existedMetaActions, virtualExecutor, baseActionPath);
|
||||||
setupShutdownHook();
|
setupShutdownHook();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import lombok.Data;
|
|||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import lombok.val;
|
import lombok.val;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import work.slhaf.partner.core.action.entity.ActionFileMetaData;
|
import work.slhaf.partner.core.action.entity.ActionFileMetaData;
|
||||||
import work.slhaf.partner.core.action.entity.MetaAction;
|
import work.slhaf.partner.core.action.entity.MetaAction;
|
||||||
import work.slhaf.partner.core.action.entity.MetaAction.Result;
|
import work.slhaf.partner.core.action.entity.MetaAction.Result;
|
||||||
@@ -18,9 +18,6 @@ import java.nio.file.Path;
|
|||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
import java.util.concurrent.ExecutorService;
|
import java.util.concurrent.ExecutorService;
|
||||||
|
|
||||||
import static work.slhaf.partner.common.Constant.Path.DATA;
|
|
||||||
import static work.slhaf.partner.common.util.PathUtil.buildPathStr;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 执行客户端抽象类
|
* 执行客户端抽象类
|
||||||
* <br/>
|
* <br/>
|
||||||
@@ -51,11 +48,10 @@ public abstract class RunnerClient {
|
|||||||
/**
|
/**
|
||||||
* ActionCore 将注入虚拟线程池
|
* ActionCore 将注入虚拟线程池
|
||||||
*/
|
*/
|
||||||
public RunnerClient(ConcurrentHashMap<String, MetaActionInfo> existedMetaActions, ExecutorService executor, @Nullable String baseActionPath) {
|
public RunnerClient(ConcurrentHashMap<String, MetaActionInfo> existedMetaActions, ExecutorService executor, @NotNull String baseActionPath) {
|
||||||
this.existedMetaActions = existedMetaActions;
|
this.existedMetaActions = existedMetaActions;
|
||||||
this.executor = executor;
|
this.executor = executor;
|
||||||
baseActionPath = baseActionPath == null ? DATA : baseActionPath;
|
this.ACTION_PATH = baseActionPath;
|
||||||
this.ACTION_PATH = buildPathStr(baseActionPath, "action");
|
|
||||||
|
|
||||||
createPath(ACTION_PATH);
|
createPath(ACTION_PATH);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user