From 4fccc816979fecec2b90b915aabd0ac8d761a916 Mon Sep 17 00:00:00 2001 From: fddc Date: Thu, 13 May 2021 11:02:42 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E9=9D=9Ewindows=E7=B3=BB=E7=BB=9F=E6=89=8D?= =?UTF-8?q?=E9=9C=80=E8=A6=81chmod?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/script/AbstractScriptProcessor.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/powerjob-official-processors/src/main/java/tech/powerjob/official/processors/impl/script/AbstractScriptProcessor.java b/powerjob-official-processors/src/main/java/tech/powerjob/official/processors/impl/script/AbstractScriptProcessor.java index b344f703..8f65f67f 100644 --- a/powerjob-official-processors/src/main/java/tech/powerjob/official/processors/impl/script/AbstractScriptProcessor.java +++ b/powerjob-official-processors/src/main/java/tech/powerjob/official/processors/impl/script/AbstractScriptProcessor.java @@ -55,11 +55,12 @@ public abstract class AbstractScriptProcessor extends CommonBasicProcessor { } // 授权 - ProcessBuilder chmodPb = new ProcessBuilder("/bin/chmod", "755", scriptPath); - // 等待返回,这里不可能导致死锁(shell产生大量数据可能导致死锁) - chmodPb.start().waitFor(); - omsLogger.info("[SYSTEM] chmod 755 authorization complete, ready to start execution~"); - + if ( !SystemUtils.IS_OS_WINDOWS) { + ProcessBuilder chmodPb = new ProcessBuilder("/bin/chmod", "755", scriptPath); + // 等待返回,这里不可能导致死锁(shell产生大量数据可能导致死锁) + chmodPb.start().waitFor(); + omsLogger.info("[SYSTEM] chmod 755 authorization complete, ready to start execution~"); + } // 2. 执行目标脚本 ProcessBuilder pb = new ProcessBuilder(getRunCommand(), scriptPath); Process process = pb.start(); From 49c7d18c0032f71cd924d64477d1f8f154c8b163 Mon Sep 17 00:00:00 2001 From: fddc Date: Fri, 14 May 2021 18:23:27 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E5=A2=9E=E5=8A=A0powershell=EF=BC=8C?= =?UTF-8?q?=E4=BB=A5=E6=94=AF=E6=8C=81windws=E5=B9=B3=E5=8F=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/script/PowerShellProcessor.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 powerjob-official-processors/src/main/java/tech/powerjob/official/processors/impl/script/PowerShellProcessor.java diff --git a/powerjob-official-processors/src/main/java/tech/powerjob/official/processors/impl/script/PowerShellProcessor.java b/powerjob-official-processors/src/main/java/tech/powerjob/official/processors/impl/script/PowerShellProcessor.java new file mode 100644 index 00000000..9b7a40b7 --- /dev/null +++ b/powerjob-official-processors/src/main/java/tech/powerjob/official/processors/impl/script/PowerShellProcessor.java @@ -0,0 +1,20 @@ +package tech.powerjob.official.processors.impl.script; + +/** + * python processor + * + * @author fddc + * @since 2021/5/14 + */ +public class PowerShellProcessor extends AbstractScriptProcessor { + + @Override + protected String getScriptName(Long instanceId) { + return String.format("powershell_%d.bat", instanceId); + } + + @Override + protected String getRunCommand() { + return "powershell.exe"; + } +} From 973322370abdeb79d8f4446de7004436deacf573 Mon Sep 17 00:00:00 2001 From: fddc Date: Mon, 31 May 2021 13:06:09 +0800 Subject: [PATCH 3/3] =?UTF-8?q?agent=E6=96=B0=E5=A2=9Etag=E5=90=AF?= =?UTF-8?q?=E5=8A=A8=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../processors/impl/script/CMDProcessor.java | 20 +++++++++++++++++++ .../tech/powerjob/agent/MainApplication.java | 4 ++++ 2 files changed, 24 insertions(+) create mode 100644 powerjob-official-processors/src/main/java/tech/powerjob/official/processors/impl/script/CMDProcessor.java diff --git a/powerjob-official-processors/src/main/java/tech/powerjob/official/processors/impl/script/CMDProcessor.java b/powerjob-official-processors/src/main/java/tech/powerjob/official/processors/impl/script/CMDProcessor.java new file mode 100644 index 00000000..9b7a40b7 --- /dev/null +++ b/powerjob-official-processors/src/main/java/tech/powerjob/official/processors/impl/script/CMDProcessor.java @@ -0,0 +1,20 @@ +package tech.powerjob.official.processors.impl.script; + +/** + * python processor + * + * @author fddc + * @since 2021/5/14 + */ +public class PowerShellProcessor extends AbstractScriptProcessor { + + @Override + protected String getScriptName(Long instanceId) { + return String.format("powershell_%d.bat", instanceId); + } + + @Override + protected String getRunCommand() { + return "powershell.exe"; + } +} diff --git a/powerjob-worker-agent/src/main/java/tech/powerjob/agent/MainApplication.java b/powerjob-worker-agent/src/main/java/tech/powerjob/agent/MainApplication.java index c8ca2e36..b89767f1 100644 --- a/powerjob-worker-agent/src/main/java/tech/powerjob/agent/MainApplication.java +++ b/powerjob-worker-agent/src/main/java/tech/powerjob/agent/MainApplication.java @@ -36,6 +36,9 @@ public class MainApplication implements Runnable { @Option(names = {"-l", "--length"}, description = "ProcessResult#msg max length") private int length = 1024; + @Option(names = {"-t", "--tag"}, description = "worker-agent's tag") + private String tag; + public static void main(String[] args) { CommandLine commandLine = new CommandLine(new MainApplication()); commandLine.execute(args); @@ -52,6 +55,7 @@ public class MainApplication implements Runnable { cfg.setServerAddress(Splitter.on(",").splitToList(server)); cfg.setStoreStrategy(StoreStrategy.MEMORY.name().equals(storeStrategy) ? StoreStrategy.MEMORY : StoreStrategy.DISK); cfg.setMaxResultLength(length); + cfg.setTag(tag); PowerJobWorker worker = new PowerJobWorker(); worker.setConfig(cfg);