рефакторинг нити планировщика двм тестов на сервере.

This commit is contained in:
2023-12-14 18:45:41 +03:00
parent c07b72eb5d
commit 1fc60e6c12
11 changed files with 403 additions and 177 deletions

View File

@@ -379,10 +379,29 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
response = new ServerExchangeUnit_2021(ServerCode.OK);
response.object = db.getFirstActiveDVMPackage();
break;
case DVMPackageNeedsKill:
DVMPackageNeedsKill();
break;
default:
throw new RepositoryRefuseException("Неподдерживаемый код: " + code);
}
}
private void DVMPackageNeedsKill() {
response = new ServerExchangeUnit_2021(ServerCode.OK);
response.object = false;
/*
int packageId = (int) request.object;
boolean res_ = false;
for (TasksPackageToKill tasksPackageToKill : db.packagesToKill.Data.values()) {
if (tasksPackageToKill.packageId == packageId) {
res_ = true;
break;
}
}
response.object = res_;
*/
}
public void UpdateTestTasks() throws Exception {
Vector<TestCompilationTask> compilationTasks = (Vector<TestCompilationTask>) request.object;
account_db.BeginTransaction();
@@ -596,7 +615,7 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
+ "\nТест будет удален"
);
}
}else if (object instanceof DVMPackage) {
} else if (object instanceof DVMPackage) {
DVMPackage dvmPackage = (DVMPackage) object;
//--
dvmPackage.state = TasksPackageState.Queued;