Version 0.0.1
This commit is contained in:
parent
9f880ebea5
commit
276fa5d738
1 changed files with 1293 additions and 144 deletions
34
executionmanager.h
Normal file
34
executionmanager.h
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
#ifndef EXECUTIONMANAGER_H
|
||||
#define EXECUTIONMANAGER_H
|
||||
|
||||
#include <mutex>
|
||||
#include <memory>
|
||||
#include <atomic>
|
||||
#include <thread>
|
||||
#include "appinfo.h"
|
||||
#include "log.h"
|
||||
|
||||
class ExecutionManager
|
||||
{
|
||||
bool finished = false;
|
||||
int threads;
|
||||
int index_count = 0;
|
||||
int initial_list_size = 0;
|
||||
long long int log_file_max_size = 0;
|
||||
std::string log_dir;
|
||||
std::mutex job_list_mutex;
|
||||
std::atomic<int> state_change = 0;
|
||||
std::atomic<int> active_thread_count = 0;
|
||||
std::vector<std::shared_ptr<std::thread>> thread_list;
|
||||
std::vector<std::shared_ptr<AppInfo>> job_list;
|
||||
Log log_file;
|
||||
public:
|
||||
ExecutionManager(int threads=16);
|
||||
void setLogFile(const Log &other);
|
||||
void setLogFileMaxSize(long long int size);
|
||||
void setLogDirectoy(std::string log_dir);
|
||||
void setJobs(std::vector<std::shared_ptr<AppInfo>>& job_list);
|
||||
void run();
|
||||
};
|
||||
|
||||
#endif // EXECUTIONMANAGER_H
|
||||
Loading…
Reference in a new issue