This commit is contained in:
2024-11-29 16:33:46 +03:00
parent 01957b9fb3
commit b76aa24ae4
11 changed files with 46 additions and 27 deletions

View File

@@ -46,8 +46,8 @@ public abstract class LinuxLocalTaskSupervisor<T extends Task> extends LocalTask
@Override
public void WaitForTask() throws Exception {
if (isTaskActive()) {
if (task.PID.isEmpty())
throw new PassException("Ошибка при старте : идентификатор задачи не определен.");
// if (task.PID.isEmpty())
// throw new PassException("Ошибка при старте : идентификатор задачи не определен.");
task.StartDate = (new Date()).getTime();
pass.ShowMessage1("Задача активна, идентификатор " + Utils_.Brackets(task.PID));
RefreshProgress();

View File

@@ -30,7 +30,7 @@ public class RemoteCompilationSupervisor extends RemoteTaskSupervisor<Compilatio
}
@Override
protected void StartTask() throws Exception {
task.PID = pass.user.connection.startShellProcess(getRemoteProject(), "PID", getStartCommand());
pass.user.connection.startShellProcess(getRemoteProject(), "PID", getStartCommand());
task.state = TaskState.Running;
}
@Override

View File

@@ -1,7 +1,9 @@
package _VisualDVM.GlobalData.Tasks.Supervisor.Remote;
import Common.CommonConstants;
import Common.Passes.PassException;
import Common.Utils.Utils_;
import _VisualDVM.Constants;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.RemoteFile.RemoteFile;
import _VisualDVM.GlobalData.Tasks.Supervisor.TaskSupervisor;
import _VisualDVM.GlobalData.Tasks.Task;
@@ -61,6 +63,16 @@ public abstract class RemoteTaskSupervisor<T extends Task> extends TaskSuperviso
}
@Override
protected void AbortTask() throws Exception {
//1 прочитать пид
if (task.PID.isEmpty()) {
RemoteFile PID = getPID();
if (pass.user.connection.Exists(PID)) {
task.PID = pass.user.connection.readFromFile(PID).replace("\n", "").replace("\r", "");
Global.mainModule.getDb().Update(task);
} else {
throw new PassException("файл PID не найден");
}
}
pass.user.connection.Command("kill -2 " + task.PID);
}
@Override

View File

@@ -18,8 +18,8 @@ public class ServerRunSupervisor extends RemoteTaskSupervisor<RunTask> {
String env = String.join(" ", MainModule_.instance.getDb().getTable(RunConfiguration.class).getUI().getCurrent().getEnvList());
if (!env.isEmpty()) res = env + " " + res;
//--
task.PID = pass.user.connection.startShellProcess(getRemoteProject(), "PID",
"ulimit -s unlimited", res);
// task.PID =
pass.user.connection.startShellProcess(getRemoteProject(), "PID", res);
task.state = TaskState.Running;
}
@Override

View File

@@ -114,10 +114,10 @@ public abstract class TaskSupervisor<T extends Task, P extends Pass> {
}
public void WaitForTask() throws Exception {
if (isTaskActive()) {
if (task.PID.isEmpty())
throw new PassException("Ошибка при старте : идентификатор задачи не определен.");
// if (task.PID.isEmpty())
// throw new PassException("Ошибка при старте : идентификатор задачи не определен.");
task.StartDate = (new Date()).getTime();
pass.ShowMessage1("Задача активна, идентификатор " + Utils_.Brackets(task.PID));
pass.ShowMessage1("Задача активна");//, идентификатор " + Utils_.Brackets(task.PID));
RefreshProgress();
do {
Thread.sleep(getTaskCheckPeriod() * 1000);