added cross-platform

This commit is contained in:
2023-12-03 15:31:50 +03:00
parent c4b8e2dd7a
commit 0afbb32788
7 changed files with 103 additions and 42 deletions

View File

@@ -123,9 +123,12 @@ public:
File launchScriptFile = File(launchScriptPath, launchScriptText);
Utils::Chmod(launchScriptPath);
}
virtual void Start() {
if (kernels <= freeKernels) {
int getKernels() const { return kernels; }
virtual void Start(bool dontCheck = false) {
if (kernels <= freeKernels || dontCheck) {
system(getStartCommand().getCharArray());
state = Running;
//-
@@ -134,13 +137,10 @@ public:
//-
}
}
virtual void analyseResults() {
state = Finished;
}
virtual void Check() {
if (Utils::Exists(workspace + "/DONE")) {
if (Utils::Exists(workspace + "/DONE"))
analyseResults();
}
else {
if (Utils::Exists(workspace + "/TIMEOUT")) {
state = AbortedByTimeout;
@@ -150,6 +150,7 @@ public:
state = AbortedByUser;
}
}
if (state != Running) {
//-
busyKernels = Utils::min(busyKernels - kernels, maxKernels);
@@ -158,8 +159,13 @@ public:
saveState(); //не нужно. только для отладки. анализ будет делаться архивом.
}
}
virtual void analyseResults() {
state = Finished;
}
virtual void saveState() {
String stateFile = workspace + "/TaskState";
File(stateFile, printState());
File tmp(stateFile, printState());
}
};