salsa  0.4.0
 All Classes Functions Variables Typedefs Enumerations Pages
TaskState.cc
1 #include "TaskState.hh"
2 #include "TaskExecutor.hh"
3 namespace Salsa {
4 
5 TaskState::TaskState(TaskExecutor * pTaskExecutor) : Object(), mpTaskExecutor(pTaskExecutor)
6 {
10 }
12 {
16  delete mpTask;
17  delete mpTaskExecutor;
18 }
19 
20 void TaskState::id(uint32_t id)
21 {
25  mId = id;
26 }
27 uint32_t TaskState::id() const
28 {
32  return mId;
33 }
34 
36 {
40  mState = s;
41 }
43 {
47  return mState;
48 }
49 
50 void TaskState::pid(uint32_t pid)
51 {
55  mPID = pid;
56 }
57 uint32_t TaskState::pid() const
58 {
62  return mPID;
63 }
64 
65 TaskInfo * TaskState::task() const
66 {
70  return mpTask;
71 }
72 
73 void TaskState::task(TaskInfo * t)
74 {
78 
79  mpTask = t;
80 }
81 
83 {
87  return mpTaskExecutor;
88 }
89 
91 {
95 
96  if (mPID == 0) return;
97 
98  int rc = kill(mPID, SIGKILL);
99  if (rc == 0) {
100  SPD_WARN("JOB [{}:{}] PID [{}] was killed by [SIGKILL] signal", mpTask->jobid(), mpTask->taskid(), mPID);
101  }
102  else {
103  SPD_ERROR("JOB [{}:{}] PID [{}] could not be killed it [SIGKILL] !!!", mpTask->jobid(), mpTask->taskid(), mPID);
104  }
105 
106  // mPID = 0;
107  mState = killed;
108 }
109 
110 void TaskState::print(bool verbose) const
111 {
115 
116  if (!verbose) return;
117 
118  SPD_INFO("id [{}] state [{}] job [{}:{}]", mId, mState, mpTask ? mpTask->jobid() : "n/a",
119  mpTask ? mpTask->taskid() : -1);
120 }
121 
122 } // namespace Salsa
TaskInfo * mpTask
TaskInfo held by said actor.
Definition: TaskState.hh:44
TaskState(TaskExecutor *te=nullptr)
Definition: TaskState.cc:5
TaskExecutor * mpTaskExecutor
Task Executor.
Definition: TaskState.hh:46
void print(bool verbose=false) const
Definition: TaskState.cc:110
uint32_t id() const
Definition: TaskState.cc:27
EState state() const
Definition: TaskState.cc:42
uint32_t mId
ID of task state.
Definition: TaskState.hh:42
virtual ~TaskState()
Definition: TaskState.cc:11
TaskExecutor * executor()
Definition: TaskState.cc:82
TaskInfo * task() const
Definition: TaskState.cc:65
EState
Status of task.
Definition: TaskState.hh:19
EState mState
Status of actor.
Definition: TaskState.hh:43
Base TaskExecutor class.
Definition: TaskExecutor.hh:14
uint32_t pid() const
Definition: TaskState.cc:57
Base Salsa Object class.
Definition: Object.hh:15
uint32_t mPID
Task PID.
Definition: TaskState.hh:45