доделал отображение прогресса и актуализацию активных пакетов. пришлось заменить признак изменения с состояния на дату изменения.

This commit is contained in:
2023-12-15 14:55:16 +03:00
parent 54bab7f83d
commit bdf0f7f4eb
7 changed files with 49 additions and 43 deletions

View File

@@ -91,9 +91,19 @@ public abstract class TestingPlanner<P extends TestingPackage> {
protected void Disconnect() {
}
//---
/*
protected void CheckExecutionStates() throws Exception{
case CompilationWorkspacesCreation:
case CompilationPreparation:
case CompilationExecution:
case RunningWorkspacesCreation:
case RunningPreparation:
case RunningExecution:
if (CheckNextState()) UpdatePackage();
break;
}
*/
//жизненный цикл планировщика
protected void Session() throws Exception {
switch (testingPackage.state) {
@@ -109,21 +119,15 @@ public abstract class TestingPlanner<P extends TestingPackage> {
PackageStart();
EmailPackage();
testingPackage.StartDate = new Date().getTime();
testingPackage.progress = 0;
UpdatePackageState(getStateAfterStart());
break;
case CompilationWorkspacesCreation:
case CompilationPreparation:
case CompilationExecution:
case RunningWorkspacesCreation:
case RunningPreparation:
case RunningExecution:
if (CheckNextState()) UpdatePackage();
break;
case RunningEnd:
DownloadResults();
UpdatePackageState(TasksPackageState.Analysis);
break;
default:
if (CheckNextState()) UpdatePackage();
break;
}
}
// ---

View File

@@ -377,8 +377,7 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
break;
case GetFirstActiveDVMPackage:
Print("Получить первый активный пакет задач DVM");
response = new ServerExchangeUnit_2021(ServerCode.OK);
response.object = db.getFirstActiveDVMPackage();
GetFirstActiveDVMPackage();
break;
case DVMPackageNeedsKill:
Print("Проверить нуждает ли пакет DVM в убийстве");
@@ -724,17 +723,26 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
//--
}
//--
void GetFirstActiveDVMPackage() throws Exception {
response = new ServerExchangeUnit_2021(ServerCode.OK);
response.object = null;
DVMPackage dvmPackage = db.getFirstActiveDVMPackage();
if (dvmPackage != null) {
//нужно вернуть копию объекта с иным адресом!!
response.object = new DVMPackage(dvmPackage);
}
}
//---
void UpdateActiveDVMPackages() throws Exception {
response = new ServerExchangeUnit_2021(ServerCode.OK);
Vector<Pair<Integer, TasksPackageState>> keys_pairs = (Vector<Pair<Integer, TasksPackageState>>) request.object;
Vector<Pair<Integer, Long>> keys_pairs = (Vector<Pair<Integer, Long>>) request.object;
Vector<DVMPackage> res = new Vector<>();
//--
for (Pair<Integer, TasksPackageState> p : keys_pairs) {
for (Pair<Integer, Long> p : keys_pairs) {
if (db.dvmPackages.containsKey(p.getKey())) {
DVMPackage tasksPackage = db.dvmPackages.get(p.getKey());
if (!p.getValue().equals(tasksPackage.state))
res.add(tasksPackage);
DVMPackage actual = db.dvmPackages.get(p.getKey());
if (actual.ChangeDate != p.getValue())
res.add(new DVMPackage(actual));
}
}
response.object = res;