salsa
0.3.0
|
#include <Job.hh>
Public Types | |
enum | QueueType { pending, assigned, running, done, failed, all } |
Queue types. | |
Public Member Functions | |
Job (std::string uuid="", std::string type="NONE") | |
virtual | ~Job () |
void | print () const |
void | json (Json::Value &json) |
TaskInfo * | nextJob () |
TODO Get next available task?job? More... | |
void | tasks (std::vector< TaskInfo * > &v, QueueType type, bool clear=true) |
bool | addTask (uint32_t id, TaskInfo *pJob, QueueType type) |
bool | moveTask (uint32_t id, QueueType from, QueueType to) |
bool | moveTask (uint32_t id, TaskInfo *pJI, QueueType from, QueueType to) |
bool | removeTask (uint32_t id, QueueType from) |
size_t | size (QueueType t=all) const |
size_t | sizeNotFinished () const |
void | consumer (std::string uuid) |
std::string | consumer () const |
void | feeder (std::string uuid) |
std::string | feeder () const |
bool | haveMoreTasks () const |
void | haveMoreTasks (bool hasMoreTasks) |
bool | isTaskInQueue (uint32_t id, QueueType type) const |
Check task presence in certain queue. More... | |
Static Public Member Functions | |
static std::shared_ptr < spdlog::logger > | getConsoleOutput () |
Get console output. | |
static void | setConsoleLevel (spdlog::level::level_enum level) |
Sets console log level. | |
Protected Attributes | |
std::map< uint32_t, TaskInfo * > | mTasks [all] = {} |
Lists of jobs. | |
std::string | mUUID = "" |
Job UUID. | |
std::string | mConsumerUUID = "" |
Source (consumer) UUID. | |
std::string | mFeederUUID = "" |
Feeder UUID. | |
std::string | mType = "NONE" |
Job type. | |
bool | mHaveMoreTasks = true |
Flag if we have more tasks. | |
Salsa::Job::Job | ( | std::string | uuid = "" , |
std::string | type = "NONE" |
||
) |
bool Salsa::Job::addTask | ( | uint32_t | id, |
TaskInfo * | pJob, | ||
QueueType | type | ||
) |
Adds job to list of jobs
Definition at line 25 of file Job.cc.
References mTasks.
Referenced by Salsa::NodeManager::addTask(), and moveTask().
void Salsa::Job::consumer | ( | std::string | uuid | ) |
Sets consumer uuid
Definition at line 189 of file Job.cc.
References mConsumerUUID.
Referenced by Salsa::NodeManager::addTask(), Salsa::Feeder::onWhisper(), and Salsa::NodeManager::resultTask().
std::string Salsa::Job::consumer | ( | ) | const |
void Salsa::Job::feeder | ( | std::string | uuid | ) |
Sets feeder uuid
Definition at line 205 of file Job.cc.
References mFeederUUID.
Referenced by Salsa::NodeManager::addTask(), Salsa::Feeder::onWhisper(), and Salsa::NodeManager::resultTask().
std::string Salsa::Job::feeder | ( | ) | const |
bool Salsa::Job::haveMoreTasks | ( | ) | const |
return has more tasks
Definition at line 221 of file Job.cc.
References mHaveMoreTasks.
Referenced by haveMoreTasks(), Salsa::NodeManager::haveMoreTasks(), and Salsa::NodeManager::resultTask().
void Salsa::Job::haveMoreTasks | ( | bool | hasMoreTasks | ) |
Sets flag if we have more tasks
Definition at line 229 of file Job.cc.
References haveMoreTasks(), and mHaveMoreTasks.
bool Salsa::Job::isTaskInQueue | ( | uint32_t | id, |
QueueType | type | ||
) | const |
Check task presence in certain queue.
Returns if task is i queue
Definition at line 119 of file Job.cc.
References mTasks.
Referenced by Salsa::Feeder::onWhisper(), and Salsa::NodeManager::resultTask().
void Salsa::Job::json | ( | Json::Value & | json | ) |
Export data in json format
Definition at line 144 of file Job.cc.
Referenced by Salsa::NodeManager::publish().
Moves job from queue FROM to TO
Definition at line 45 of file Job.cc.
Referenced by nextJob(), Salsa::Feeder::onExit(), Salsa::Feeder::onWhisper(), and Salsa::NodeManager::resultTask().
TaskInfo * Salsa::Job::nextJob | ( | ) |
TODO Get next available task?job?
return next job
Definition at line 90 of file Job.cc.
References moveTask(), and mTasks.
void Salsa::Job::print | ( | ) | const |
Prints job information
Definition at line 133 of file Job.cc.
References mConsumerUUID, mFeederUUID, mTasks, mUUID, and size().
Referenced by Salsa::TaskPool::terminateJob().
bool Salsa::Job::removeTask | ( | uint32_t | id, |
QueueType | from | ||
) |
Removes job from queue
Definition at line 76 of file Job.cc.
References mTasks.
Referenced by Salsa::TaskPool::handlePipe(), and Salsa::NodeManager::resultTask().
size_t Salsa::Job::size | ( | QueueType | t = all | ) | const |
Return size in queue (if QueueType::all is set is show sum of sizes)
Definition at line 160 of file Job.cc.
References mTasks.
Referenced by print(), and Salsa::NodeManager::resultTask().
size_t Salsa::Job::sizeNotFinished | ( | ) | const |
void Salsa::Job::tasks | ( | std::vector< TaskInfo * > & | v, |
QueueType | type, | ||
bool | clear = true |
||
) |
return next job
Definition at line 105 of file Job.cc.
References mTasks.
Referenced by Salsa::Feeder::terminateJob(), and Salsa::TaskPool::terminateJob().