Files
VisualSapfor/src/GlobalData/Tasks/Supervisor/Remote/MVSRunSupervisor.java
2024-10-07 14:22:52 +03:00

61 lines
2.0 KiB
Java

package GlobalData.Tasks.Supervisor.Remote;
import Common.Utils.CommonUtils;
import Common_old.Current;
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;
String res = "maxtime=" + CommonUtils.DQuotes(mvs_time) + " ./run";
if (!env.isEmpty())
res = env + " " + res;
/*
mvs.enqueueTask(pass.ShellCommand(
"cd " + Utils.DQuotes(getRemoteProject().full_name),
res), task);
*/
}
@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);
}
@Override
protected void AbortTask() throws Exception {
// pass.ShellCommand(mvs.getCancelTaskCommand(task));
}
@Override
protected void CalculatePerformanceTime() throws Exception {
task.Time = performanceTime;
}
}