fix недоделки с одиночным запуском. стояла ожидающая команда. v++

This commit is contained in:
2024-04-03 00:01:52 +03:00
parent 48f7845564
commit c40d6fbbfc
6 changed files with 15 additions and 47 deletions

15
.idea/workspace.xml generated
View File

@@ -8,21 +8,10 @@
<component name="ChangeListManager">
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Common/UI/Menus_2023/MainMenuBar/MainMenuBar.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/UI/Menus_2023/MainMenuBar/MainMenuBar.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Common/UI/Menus_2023/MainMenuBar/TransformationsMenu.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/UI/Menus_2023/MainMenuBar/TransformationsMenu.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Common/UI/Menus_2023/PassControl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/UI/Menus_2023/PassControl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/GlobalData/Tasks/Supervisor/Remote/RemoteTaskSupervisor.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/GlobalData/Tasks/Supervisor/Remote/RemoteTaskSupervisor.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Repository/Component/Visualiser.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/Component/Visualiser.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Repository/Server/ComponentsServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/Server/ComponentsServer.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/GlobalData/Tasks/Supervisor/Remote/RemoteCompilationSupervisor.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/GlobalData/Tasks/Supervisor/Remote/RemoteCompilationSupervisor.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/GlobalData/Tasks/Supervisor/Remote/ServerRunSupervisor.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/GlobalData/Tasks/Supervisor/Remote/ServerRunSupervisor.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTestingPlanner.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTestingPlanner.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/UserConnection.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/UserConnection.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/CheckAccount.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/CheckAccount.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/RemoteSingleCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/RemoteSingleCommand.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/SPF_GetArrayDistribution.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/SPF_GetArrayDistribution.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/SPF_GetArrayDistributionOnlyAnalysis.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/SPF_GetArrayDistributionOnlyAnalysis.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/TestPass.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/TestPass.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/UpdateSetting.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/UpdateSetting.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/PassCode_2021.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/PassCode_2021.java" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />

View File

@@ -30,7 +30,7 @@ public class RemoteCompilationSupervisor extends RemoteTaskSupervisor<Compilatio
}
@Override
protected void StartTask() throws Exception {
pass.user.connection.performScript(getRemoteProject(), getStartCommand()+" 1>PID");
pass.user.connection.performScriptNoWait(getRemoteProject(), getStartCommand()+" 1>PID");
RemoteFile PID = getPID();
while (!pass.user.connection.Exists(PID)){
System.out.println("PID NOT FOUND");

View File

@@ -16,7 +16,7 @@ public class ServerRunSupervisor extends RemoteTaskSupervisor<RunTask> {
String res = "./run";
String env = String.join(" ", Current.getRunConfiguration().getEnvList());
if (!env.isEmpty()) res = env + " " + res;
pass.user.connection.performScript(getRemoteProject(), "ulimit -s unlimited", res+" 1>PID");
pass.user.connection.performScriptNoWait(getRemoteProject(), "ulimit -s unlimited", res+" 1>PID");
RemoteFile PID = getPID();
while (!pass.user.connection.Exists(PID)){
System.out.println("PID NOT FOUND");

View File

@@ -62,7 +62,7 @@ public class Visualiser extends Component {
//http://www.seostella.com/ru/article/2012/02/05/formatirovanie-daty-v-java.html
@Override
public void GetVersionInfo() {
version = 1088;
version = 1089;
String pattern = "MMM dd yyyy HH:mm:ss";
DateFormat df = new SimpleDateFormat(pattern, Locale.ENGLISH);
date_text = df.format(getClassBuildTime());

View File

@@ -182,7 +182,7 @@ public class DVMTestingPlanner extends TestingPlanner<DVMPackage> {
@Override
protected void PackageStart() throws Exception {
String plannerStartCommand = String.join(" ", "nohup", Utils.DQuotes(getPlanner()), Utils.DQuotes(user.workspace), Utils.DQuotes(packageRemoteWorkspace.full_name), Utils.DQuotes(testingPackage.kernels), Utils.DQuotes(testingPackage.drv), "&");
user.connection.CommandNoRead("ulimit -s unlimited",plannerStartCommand);
user.connection.CommandNoWait("ulimit -s unlimited",plannerStartCommand);
RemoteFile PID = new RemoteFile(packageRemoteWorkspace, "PID");
RemoteFile STARTED = new RemoteFile(packageRemoteWorkspace, "STARTED");
while (!user.connection.Exists(STARTED)) {

View File

@@ -115,7 +115,6 @@ public class UserConnection {
//--
//todo из за мусора результатом пользоваться в общем случае невозможно.
//следует перенаправлять вывод в какой нибудь временный файл на сервере.
/*
public String ShellCommand(String command) throws Exception {
StringBuilder result = new StringBuilder();
@@ -406,7 +405,7 @@ public class UserConnection {
}
execChannel.disconnect();
}
public void CommandNoRead(String... commands) throws Exception {
public void CommandNoWait(String... commands) throws Exception {
if (commands.length > 0) {
String command = String.join("\n", commands);
execChannel = (ChannelExec) session.openChannel("exec");
@@ -416,32 +415,12 @@ public class UserConnection {
execChannel.disconnect();
}
}
/*
public String CommandWithAnswer(char end, String... commands) throws Exception {
String output = "";
if (commands.length > 0) {
String command = String.join("\n", commands);
// UI.Print(DebugPrintLevel.Session, command);
// UI.Print(DebugPrintLevel.Session, "Creating Exec Channel.");
// System.out.println(Utils.Brackets(command));
execChannel = (ChannelExec) session.openChannel("exec");
execChannel.setErrStream(System.err);
InputStreamReader reader = new InputStreamReader(execChannel.getInputStream());
execChannel.setCommand(command);
execChannel.connect();
char[] chars = new char[1];
while (reader.read(chars) >= 0) if (chars[0] == end) break;
else output += chars[0];
execChannel.disconnect();
}
// System.out.println(Utils.Brackets(output));
return output;
}
*/
/*
public void copy(RemoteFile src, RemoteFile dst) throws Exception {
ShellCommand("cp " + Utils.DQuotes(src.full_name) + " " + Utils.DQuotes(dst.full_name));
}
*/
public void performScriptNoWait(RemoteFile directory, String... commands) throws Exception {
RemoteFile script_file = new RemoteFile(directory, Constants.script);
if (Exists(script_file))
sftpChannel.rm(script_file.full_name);
//--
writeToFile("cd " + Utils.DQuotes(directory.full_name) + "\n" + String.join("\n", commands), script_file);
CommandNoWait(Utils.DQuotes(script_file.full_name));
}
}