class WorkerPool( workerpool.WorkerPool ) : "Run all the registered tasks in parallel" def __init__( self, size = 1, maxjobs = 0, worker_factory = default_worker_factory ) : workerpool.WorkerPool.__init__( self, size, maxjobs, worker_factory ) from workerpool.pools import Queue self.results = Queue() pass def charge( self, the_function, *the_args ) : "Perform a map operation distributed among the workers. Will block until done." from workerpool import SimpleJob self.put( SimpleJob( self.results, the_function, *the_args ) ) pass def is_all_right( self ) : self.join() a_result = True for i in range( self.results.qsize() ): a_result &= self.results.get() self.results.task_done() pass return a_result pass
def __init__( self, size = 1, maxjobs = 0, worker_factory = default_worker_factory ) : workerpool.WorkerPool.__init__( self, size, maxjobs, worker_factory ) from workerpool.pools import Queue self.results = Queue() pass