Files
VisualSapfor/src/GlobalData/Tasks/Supervisor/Remote/MVSRunSupervisor.java

61 lines
2.0 KiB
Java
Raw Normal View History

2023-09-17 22:13:42 +03:00
package GlobalData.Tasks.Supervisor.Remote;
2024-10-07 14:22:52 +03:00
import Common.Utils.CommonUtils;
import Common_old.Current;
2023-09-17 22:13:42 +03:00
import GlobalData.RemoteFile.RemoteFile;
import GlobalData.Tasks.QueueSystem.MVS;
import GlobalData.Tasks.TaskState;
public class MVSRunSupervisor extends ServerRunSupervisor {
MVS mvs = new MVS();
int mvs_time;
@Override
protected RemoteFile getRemoteOutput() {
return new RemoteFile(getRemoteProject().full_name + "/" + task.PID, "output");
}
@Override
protected RemoteFile getRemoteErrors() {
return new RemoteFile(getRemoteProject().full_name + "/" + task.PID, "errors");
}
@Override
protected String getLaunchScriptText() {
return task.getFullCommand();
}
@Override
protected int getTaskCheckPeriod() {
return 5;
}
@Override
public int getMaxtime() {
return mvs_time * 60;
}
@Override
protected void StartTask() throws Exception {
String env = String.join(" ", Current.getRunConfiguration().getEnvList());
mvs_time = (task.maxtime / 60); //в минутах
if (task.maxtime % 60 > 0) mvs_time += 1;
2024-10-07 14:22:52 +03:00
String res = "maxtime=" + CommonUtils.DQuotes(mvs_time) + " ./run";
2023-09-17 22:13:42 +03:00
if (!env.isEmpty())
res = env + " " + res;
/*
2023-09-17 22:13:42 +03:00
mvs.enqueueTask(pass.ShellCommand(
"cd " + Utils.DQuotes(getRemoteProject().full_name),
res), task);
*/
2023-09-17 22:13:42 +03:00
}
@Override
protected boolean isTaskActive() {
return super.isTaskActive() || task.state.equals(TaskState.Queued);
}
@Override
protected void CheckTask() throws Exception {
// mvs.checkTask(pass.ShellCommand(mvs.getCheckTaskCommand(task)), task);
2023-09-17 22:13:42 +03:00
}
@Override
protected void AbortTask() throws Exception {
// pass.ShellCommand(mvs.getCancelTaskCommand(task));
2023-09-17 22:13:42 +03:00
}
@Override
protected void CalculatePerformanceTime() throws Exception {
task.Time = performanceTime;
}
}