ImageD  v2_7_5 (24.06.22)
ImageD is an image processing software designed for rapid prototyping and implementing algorithms and solutions for science, research and teaching.
d_job_manager.h
Go to the documentation of this file.
1 /************************************
2  * added: 02.02.2021 *
3  * author: David Eilenstein *
4  * contact: D.Eilenstein@gsi.de *
5  * project: ImageD *
6  * facility: GSI Darmstadt, Ger *
7  ************************************/
8 
9 #ifndef D_JOB_MANAGER_H
10 #define D_JOB_MANAGER_H
11 
12 //own
13 #include <d_enum.h>
14 #include <d_stat.h>
15 
16 //Qt
17 #include <QFileDialog>
18 #include <QFileInfo>
19 #include <QFileInfoList>
20 #include <QDir>
21 #include <QDateTime>
22 #include <QInputDialog>
23 #include <QTextStream>
24 
25 //general
26 #include <iostream>
27 #include <sstream>
28 #include <fstream>
29 #include <vector>
30 #include <algorithm>
31 
32 //namespaces
33 using namespace std;
34 
39 {
40 public:
41 
42  D_Job_Manager(QDir jobs_dir, QString worker_id);
43 
44  bool add_job_range (QString QS_VarName, size_t loop_start, size_t loop_end);
45  bool add_bundle_range (QString QS_VarName, size_t loop_start, size_t loop_end);
46  bool start_working();
47  bool next_Job ();
48  QString get_JobString ();
49  vector<size_t> get_JobVector ();
50  bool finish_Job (QString job);
51 
52 private:
53 
54  bool create_JobDir ();
55  bool create_JobLists ();
56 
57  bool this_is_creator = false;
58 
59  QString Worker_ID = "";
60 
61  QDir DIR_Master;
62  QDir DIR_Jobs;
63  QDir DIR_Started;
64  QDir DIR_Finished;
65 
66  QStringList QSL_BundleVar;
67  vector<size_t> vBundleVar_Start;
68  vector<size_t> vBundleVar_End;
69 
70  QStringList QSL_JobVar;
71  vector<size_t> vJobVar_Start;
72  vector<size_t> vJobVar_End;
73 
74 };
75 
76 #endif // D_JOB_MANAGER_H
D_Job_Manager::next_Job
bool next_Job()
Definition: d_job_manager.cpp:83
D_Job_Manager::D_Job_Manager
D_Job_Manager(QDir jobs_dir, QString worker_id)
Definition: d_job_manager.cpp:11
D_Job_Manager::add_bundle_range
bool add_bundle_range(QString QS_VarName, size_t loop_start, size_t loop_end)
Definition: d_job_manager.cpp:47
d_job_manager.h
D_Job_Manager
The D_Job_Manager class Manger for working jobs with multiple workers (i.e. PCs). WIP.
Definition: d_job_manager.h:39
D_Job_Manager::get_JobVector
vector< size_t > get_JobVector()
D_Job_Manager::add_job_range
bool add_job_range(QString QS_VarName, size_t loop_start, size_t loop_end)
Definition: d_job_manager.cpp:21
D_Job_Manager::finish_Job
bool finish_Job(QString job)
D_Job_Manager::start_working
bool start_working()
Definition: d_job_manager.cpp:73
D_Job_Manager::get_JobString
QString get_JobString()
d_enum.h
d_stat.h