diff -r 52284710c0b4 -r 584b9c97ecfd iro/controller/pool.py --- a/iro/controller/pool.py Thu Mar 29 18:27:15 2012 +0200 +++ b/iro/controller/pool.py Thu Mar 29 18:31:53 2012 +0200 @@ -2,30 +2,41 @@ from twisted.internet import threads class Pool: + """wrapper class to handles a twisted threadpool""" def __init__(self,name,maxthreads): + """ + :param string name: name of the threadpool + :param integer maxthreads: how many thread a allowed at maximum + """ self.maxthreads = maxthreads self.pool = ThreadPool(minthreads=1, maxthreads=maxthreads, name=name) self.reactor = None def start(self, reactor): + """stats the pool and adds the pool.stop function to the stop procedure. + + :param reactor: a valid twisted reactor + """ self.pool.start() self.reactor = reactor self.reactor.addSystemEventTrigger('before', 'shutdown', self.pool.stop) def run(self,f,*args,**kwargs): - """To run a function in Twisted's thread pool""" + """run a function in Twisted's thread pool""" return threads.deferToThreadPool(self.reactor, self.pool, f, *args, **kwargs) -#task Pool for sending taskPool = Pool('task',5) +"""taskpool to handle sending data""" -#db Pool to handle reqests to sqlalchemy dbPool = Pool('database',5) +"""pool to handle database connection via sqlalchemy""" -# all pools in one list pools=[taskPool,dbPool] +"""all available pools""" def startPool(reactor): - '''starting all pools''' + '''run start function for all items in :attr:`pools`''' for pool in pools: pool.start(reactor) + +__all__=["Pool", "startPool", "dbPool", "taskPool", "pools"]