20namespace MultiProcess {
120 }
catch (std::logic_error &) {
121 printf(
"queue loop got unhandleable ZMQ::ppoll_error_t\n");
127 printf(
"EINTR in queue loop but no SIGTERM received, continuing\n");
130 printf(
"EAGAIN from ppoll in queue loop, continuing\n");
133 }
catch (zmq::error_t &
e) {
134 printf(
"unhandled zmq::error_t (not a ppoll_error_t) in queue loop with errno %d: %s\n",
e.num(),
e.what());
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
static JobManager * instance()
static bool sigterm_received()
virtual bool pop(JobTask &job_task)=0
Have a worker ask for a task-message from the queue.
void loop()
The queue process's event loop.
virtual void add(JobTask job_task)=0
Enqueue a task.
void process_master_message(M2Q message)
Helper function for 'Queue::loop()'.
std::size_t N_tasks_at_workers_
void process_worker_message(std::size_t this_worker_id, W2Q message)
Helper function for 'Queue::loop()'.
Wrapper class for polling ZeroMQ sockets.
zmq_ppoll_error_response handle_zmq_ppoll_error(ZMQ::ppoll_error_t &e)
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...
combined job_object, state and task identifier type