6 #include <Publisher.hh>
25 void print(std::string opt =
"")
const;
28 void addConsumer(std::string uuid, std::shared_ptr<Socket> s);
29 void addFeeder(std::string uuid, std::shared_ptr<Socket> s);
30 void addWorker(std::string uuid, std::shared_ptr<Socket> s);
31 void addTask(TaskInfo * taskInfo, std::string cuuid, std::string fuuid,
35 virtual Socket *
onEnter(std::string
self, std::string fromType,
Message * msg, std::vector<std::string> & out);
40 std::shared_ptr<Feeder>
feeder(std::string uuid)
const;
41 std::shared_ptr<Consumer>
consumer(std::string uuid)
const;
42 std::shared_ptr<Worker>
worker(std::string uuid)
const;
43 Job *
job(std::string uuid);
52 int32_t
nSlots(
double mult = 1.0)
const;
53 void jobs(std::string clientUUID, std::vector<std::string> &
jobs)
const;
63 virtual void runTask(
TaskState * ts, std::string wk, std::string upstream) = 0;
70 virtual bool sendWhisper(
Socket * s, std::string to, std::vector<std::string> & v);
75 virtual void publish(std::string
id)
const;
78 std::map<std::string, Job *>
mJobs{};
80 std::map<std::string, std::shared_ptr<Worker>>
mWorkers{};
81 std::map<std::string, std::shared_ptr<Consumer>>
mConsumers{};
82 std::map<std::string, std::shared_ptr<Feeder>>
mFeeders{};
std::vector< std::string > mActiveJobs
List of active jobs.
std::shared_ptr< Worker > worker(std::string uuid) const
std::shared_ptr< Feeder > feeder(std::string uuid) const
Base salsa TaskState class.
virtual Socket * onExit(std::string self, Message *msg, std::vector< std::string > &out)
virtual void terminateJob(std::string uuid)
std::map< std::string, std::shared_ptr< Consumer > > mConsumers
List of Consumers.
virtual void addTaskSlot()
void noMoreTasks(std::string jobUUID)
void resultTask(TaskInfo *task)
void addFeeder(std::string uuid, std::shared_ptr< Socket > s)
Job * job(std::string uuid)
virtual Publisher * publisher() const
std::map< std::string, Job * > mJobs
List of jobs.
void jobs(std::string clientUUID, std::vector< std::string > &jobs) const
virtual void runTask(TaskState *ts, std::string wk, std::string upstream)=0
Run task interface.
virtual void publish(std::string id) const
virtual Socket * onWhisper(std::string self, Message *msg, std::vector< std::string > &out)
std::map< std::string, std::shared_ptr< Worker > > mWorkers
List of Workers.
std::shared_ptr< Consumer > consumer(std::string uuid) const
void addTask(TaskInfo *taskInfo, std::string cuuid, std::string fuuid, Salsa::Job::QueueType t=Salsa::Job::pending)
void addConsumer(std::string uuid, std::shared_ptr< Socket > s)
TaskPool * mpTaskPool
Task pool.
int32_t nSlots(double mult=1.0) const
virtual bool sendWhisper(Socket *s, std::string to, std::vector< std::string > &v)
Publisher * mpPublisher
Publisher.
void addWorker(std::string uuid, std::shared_ptr< Socket > s)
virtual bool handleTaskPool(void *p)
TaskPool * taskPool()
Get NM's task pool.
void print(std::string opt="") const
virtual void terminateJobAll()
std::map< std::string, std::shared_ptr< Feeder > > mFeeders
List of Feeders.
virtual Socket * onEnter(std::string self, std::string fromType, Message *msg, std::vector< std::string > &out)
Base salsa TaskPool class.