4 #include "TaskInfo.pb.h"
19 enum EQueueType { pending = 0, assigned = 1, running = 2, done = 3, failed = 4, all = 5 };
21 Job(std::string
uuid =
"", std::string type =
"NONE");
39 void tasks(std::vector<TaskInfo *> & v,
EQueueType type,
bool clear =
true);
55 std::string
feeder()
const;
91 std::map<uint32_t, TaskInfo *>
mTasks[all] = {};
void maxIdsInJson(size_t i)
Set Maximum number when joh ids are produced in json.
void changed(bool c)
Set if job info was changed.
bool mJustFinished
Flag if job is finished. Note that it is reported only once.
bool haveMoreTasks() const
Task statuses.
bool addTask(uint32_t id, TaskInfo *pJob, EQueueType type)
void tasks(std::vector< TaskInfo * > &v, EQueueType type, bool clear=true)
std::string consumer() const
int mSubmitterSocketIndex
Submitter socket index in NodeZyre::mZmqSockets.
void json(Json::Value &json)
uint64_t timeFinished() const
Returns time finished for the job.
std::map< uint32_t, TaskInfo * > mTasks[all]
Lists of jobs.
bool changed() const
Returns if job info was changed.
size_t sizeNotFinished() const
void submitterSocketID(void *id)
Set submitter socket identity.
uint64_t mTimeFinished
Time finished.
std::string mUUID
Job UUID.
std::string mType
Job type.
bool moveTask(uint32_t id, EQueueType from, EQueueType to)
Job(std::string uuid="", std::string type="NONE")
void * submitterSocketID() const
Returns submitter socket identity.
size_t size(EQueueType t=all) const
uint64_t mTimeStarted
Time started.
int submitterSocketIndex() const
Returns submitter socket index.
bool isJustFinished()
Returns if job was just finished.
void * mSubmitterSocketID
Submitter socket identity.
std::string mFeederUUID
Feeder UUID.
bool mChanged
Flag if job was changed.
uint64_t timeStarted() const
Return time started for the job.
uint32_t JobID_t
Job ID type alias.
bool removeTask(uint32_t id, EQueueType from)
std::string mConsumerUUID
Source (consumer) UUID.
std::string feeder() const
uint32_t mUid
Job user id (nobody : 99)
void submitterSocketIndex(int i)
Set submitter socket index.
uint32_t mGid
Job group id (nogroup : 99)
size_t mMaxIdsInJson
Maximum number when joh ids are produced in json.
size_t maxIdsInJson() const
Returns Maximum number when joh ids are produced in json.
bool isFinished()
Returns if jobs is finished.
std::string uuid() const
returns UUID
bool isTaskInQueue(uint32_t id, EQueueType type) const
Check task presence in certain queue.