hce-node application
1.4.3
HCE Hierarchical Cluster Engine node application
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
DRCETaskRequestTerminateExecutor.hpp
Go to the documentation of this file.
1
14
#ifndef DRCE_TASK_REQUEST_TERMINATE_EXECUTOR_HPP
15
#define DRCE_TASK_REQUEST_TERMINATE_EXECUTOR_HPP
16
17
#include "
DRCEError.hpp
"
18
#include "
DRCEMessageConst.hpp
"
19
#include "
DRCETaskRequestExecutor.hpp
"
20
#include "
DRCECommonTask.hpp
"
21
22
namespace
HCE
23
{
24
namespace
drce
25
{
26
class
DRCETaskRequestTerminate;
27
//-----------------------------------------------------------------------------
28
class
DRCETaskRequestTerminateExecutor
:
public
DRCETaskRequestExecutor
29
{
30
public
:
31
DRCETaskRequestTerminateExecutor
(
DRCEAsyncTasksQueue
& asyncTaskQueue_,
32
DRCENodeOptions
& nodeOptions_,
33
CustomMessage
& message_,
34
DRCEResourceMonitor
& resourceMonitor_);
35
virtual
~DRCETaskRequestTerminateExecutor
(
void
) {}
36
37
DRCEResultDataItem
execute
(
DRCETaskRequest
* pTaskRequest,
38
DRCEInputJsonMessage
& inputJsonMessage);
39
40
static
void
terminateExpiredTask
(
const
AsyncTasks
& asyncTask,
41
DRCEAsyncTasksQueue
&
asyncTaskQueue
,
42
DRCENodeOptions
&
nodeOptions
,
43
CustomMessage
&
message
);
44
45
static
void
executeTerminate
(
unsigned
int
taskId
,
46
DRCEAsyncTasksQueue
&
asyncTaskQueue
,
47
DRCENodeOptions
&
nodeOptions
,
48
CustomMessage
&
message
,
49
const
std::string&
errorMsg
=
""
,
50
unsigned
int
errorCode
=0,
51
DRCETaskRequest::TaskState
taskState=DRCETaskRequest::TaskState::TERMINATED);
52
private
:
53
static
void
executeDefaultAlgorithm(
DRCETaskRequestTerminate
& taskRequestTerminate,
54
pid_t
pid
,
55
DRCEAsyncTasksQueue
&
asyncTaskQueue
,
56
DRCENodeOptions
&
nodeOptions
,
57
CustomMessage
&
message
,
58
DRCEResultDataItem
& resultDataItem)
throw
(Poco::Exception);
59
60
static
void
executeCustomAlgorithm(
DRCETaskRequestTerminate
& taskRequestTerminate,
61
pid_t
pid
,
62
DRCEAsyncTasksQueue
&
asyncTaskQueue
,
63
DRCENodeOptions
&
nodeOptions
,
64
CustomMessage
&
message
,
65
DRCEResultDataItem
& resultDataItem)
throw
(Poco::Exception);
66
67
static
bool
loadStatusFile(
DRCEAsyncTasksQueue
&
asyncTaskQueue
,
68
DRCENodeOptions
&
nodeOptions
,
69
CustomMessage
&
message
,
70
DRCEResultDataItem
& resultDataItem);
71
72
static
void
terminateTask(
unsigned
int
taskId
,
73
DRCETaskRequestTerminate
& taskRequestTerminate,
74
DRCEAsyncTasksQueue
&
asyncTaskQueue
,
75
DRCENodeOptions
&
nodeOptions
,
76
CustomMessage
&
message
,
77
DRCEResultDataItem
& resultDataItem,
78
const
std::string&
errorMsg
=
""
,
79
unsigned
int
errorCode
=0,
80
DRCETaskRequest::TaskState
taskState=DRCETaskRequest::TaskState::TERMINATED) throw (Poco::Exception);
81
82
DRCEResultDataItem
makeResultDataItem(
DRCEInputJsonMessage
& inputJsonMessage,
83
unsigned
int
exitStatus
=0);
84
85
void
prepareCleanup(
unsigned
int
taskId,
86
DRCEInputJsonMessage
& inputJsonMessage);
87
88
static
DRCEResultDataItem
executeTerminate
(
DRCETaskRequest
* pTaskRequest,
89
DRCEInputJsonMessage
& inputJsonMessage,
90
DRCEAsyncTasksQueue
& asyncTaskQueue,
91
DRCENodeOptions
& nodeOptions,
92
CustomMessage
& message,
93
const std::
string
&
errorMsg
="",
94
unsigned
int
errorCode
=0,
95
DRCETaskRequest
::TaskState taskState=
DRCETaskRequest
::TaskState::TERMINATED);
96
97
typedef
DRCETaskRequestExecutor
inherited;
98
};
99
//-----------------------------------------------------------------------------
100
//-----------------------------------------------------------------------------
101
}
// end namespace drce
102
}
// end namespace HCE
103
104
#endif // DRCE_TASK_REQUEST_TERMINATE_EXECUTOR_HPP
sources
utils
DRCE
src
DRCETaskRequestTerminateExecutor.hpp
Generated on Tue Jun 30 2015 19:42:12 for hce-node application by
1.8.1.2