summaryrefslogtreecommitdiff
path: root/src/main/java/net/geedge/executor
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net/geedge/executor')
-rw-r--r--src/main/java/net/geedge/executor/Executor.java39
-rw-r--r--src/main/java/net/geedge/executor/JobInfo.java35
2 files changed, 74 insertions, 0 deletions
diff --git a/src/main/java/net/geedge/executor/Executor.java b/src/main/java/net/geedge/executor/Executor.java
new file mode 100644
index 0000000..494ef2f
--- /dev/null
+++ b/src/main/java/net/geedge/executor/Executor.java
@@ -0,0 +1,39 @@
+package net.geedge.executor;
+
+import cn.hutool.log.Log;
+import lombok.Data;
+import net.geedge.util.RunnerContext;
+import net.geedge.util.RunnerYml.ExecutorConfig;
+
+@Data
+public class Executor implements Runnable{
+ private ExecutorConfig executorConfig;
+ private JobInfo jobInfo;
+ Log log = Log.get();
+
+ @Override
+ public void run() {
+ Thread.currentThread().setName("job-excutor-"+jobInfo.getId());
+ log.info("job executor start");
+ RunnerContext.addActiveExecutors(this);
+ try {
+ log.info("job executor run job start");
+ this.runJob();
+ log.info("job executor run job end");
+ } finally {
+ RunnerContext.removeActiveExecutors(this);
+ log.info("job executor run jobend");
+ }
+ }
+
+ /**
+ * 运行playbook
+ * @param path playbook文件路径
+ * @param config executor配置
+ */
+ void runJob() {
+
+ };
+
+
+}
diff --git a/src/main/java/net/geedge/executor/JobInfo.java b/src/main/java/net/geedge/executor/JobInfo.java
new file mode 100644
index 0000000..7fcedaa
--- /dev/null
+++ b/src/main/java/net/geedge/executor/JobInfo.java
@@ -0,0 +1,35 @@
+package net.geedge.executor;
+
+import java.util.List;
+
+import lombok.Data;
+
+@Data
+public class JobInfo {
+ private String id;
+ private Playbook playbook;
+ private Package pkg;
+ private List<Signature> signatures;
+
+ @Data
+ public class Package {
+ String id;
+ String platform;
+ String version;
+ String identifier;
+ }
+
+ @Data
+ public class Playbook {
+ String id;
+ String name;
+ String tags;
+ }
+
+ @Data
+ public class Signature {
+ String id;
+ String name;
+ String conditions;
+ }
+}