22namespace MultiProcess {
34 job_task =
queue_.top().jobTask;
43 if (jobManager.process_manager().is_master()) {
46 }
else if (jobManager.process_manager().is_queue()) {
47 std::size_t priority = 0;
51 queue_.emplace(job_task, priority);
53 throw std::logic_error(
"calling Communicator::to_master_queue from slave process");
62 std::vector<std::size_t> task_priorities(task_order.size());
63 for (std::size_t ix = 0; ix < task_order.size(); ++ix) {
64 task_priorities[task_order[ix]] = task_order.size() - ix;
76 std::copy(task_priorities.cbegin(), task_priorities.cend(), std::back_inserter(
task_priority_[job_id]));
static JobManager * instance()
void setTaskPriorities(std::size_t job_id, const std::vector< std::size_t > &task_priorities)
Set the priority for Job tasks.
void add(JobTask job_task) override
See Queue::add.
void suggestTaskOrder(std::size_t job_id, const std::vector< Task > &task_order)
Set the desired order for executing tasks of a Job.
std::unordered_map< std::size_t, std::vector< std::size_t > > task_priority_
std::priority_queue< OrderedJobTask > queue_
bool pop(JobTask &job_task) override
See Queue::pop.
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...
combined job_object, state and task identifier type