Files
VisualSapfor/Planner/RunSupervisor.h

34 lines
980 B
C
Raw Normal View History

#pragma once
2023-09-17 22:13:42 +03:00
#include "CompilationSupervisor.h"
#include "RunTask.h"
class RunSupervisor : public Supervisor<RunTask> {
public:
RunSupervisor(CompilationSupervisor* compilationSupervisor) {
this->init("runTasks", 8);
2023-09-17 22:13:42 +03:00
//проверить отмененные задачи.
for (long i = 0; i < this->length; ++i) {
RunTask* task = this->get(i);
CompilationTask* parent = compilationSupervisor->getTaskById(task->getTestCompilationTaskId());
task->setState((parent->getState() == Done) ? Waiting : Canceled);
task->setParent(parent);
2023-09-17 22:13:42 +03:00
printf("id=%ld; parent_id = %ld; state=%s\n",
task->getId(),
task->getParent()->getId(),
task->printState().getCharArray());
}
2023-09-17 22:13:42 +03:00
}
virtual String getStatePrefix() {
2023-09-17 22:13:42 +03:00
return String("Running");
}
virtual void Finalize() {
2023-09-17 22:13:42 +03:00
this->state = Archivation;
saveState();
printf("Archivation started\n");
Utils::ZipFolder(String("./"), String("archive.zip"));
2023-09-17 22:13:42 +03:00
printf("Archivation ended\n");
2023-09-17 22:13:42 +03:00
}
};