19#ifndef __XRD_CL_JOB_MANAGER_HH__
20#define __XRD_CL_JOB_MANAGER_HH__
44 virtual void Run(
void *arg ) = 0;
104 pthread_t thread = pthread_self();
105 std::vector<pthread_t>::iterator itr =
A synchronized queue.
Definition XrdClJobManager.hh:51
bool Finalize()
Finalize the job manager, clear the queues.
bool Start()
Start the workers.
bool pRunning
Definition XrdClJobManager.hh:126
XrdSysMutex pMutex
Definition XrdClJobManager.hh:125
std::vector< pthread_t > pWorkers
Definition XrdClJobManager.hh:123
bool Initialize()
Initialize the job manager.
SyncQueue< JobHelper > pJobs
Definition XrdClJobManager.hh:124
void StopWorkers(uint32_t n)
Stop all workers up to n'th.
void RunJobs()
Run the jobs.
~JobManager()
Destructor.
Definition XrdClJobManager.hh:65
bool Stop()
Stop the workers.
void QueueJob(Job *job, void *arg=0)
Add a job to be run.
Definition XrdClJobManager.hh:92
bool IsWorker()
Definition XrdClJobManager.hh:102
JobManager(uint32_t workers)
Constructor.
Definition XrdClJobManager.hh:56
Interface for a job to be run by the job manager.
Definition XrdClJobManager.hh:34
virtual void Run(void *arg)=0
The job logic.
virtual ~Job()
Virtual destructor.
Definition XrdClJobManager.hh:39
A synchronized queue.
Definition XrdClSyncQueue.hh:33
Definition XrdSysPthread.hh:165
Definition XrdClAction.hh:34
Definition XrdClJobManager.hh:117
Job * job
Definition XrdClJobManager.hh:119
JobHelper(Job *j=0, void *a=0)
Definition XrdClJobManager.hh:118
void * arg
Definition XrdClJobManager.hh:120