Home | Trees | Indices | Help |
|
---|
|
1 import logging 2 import tempfile 3 logging.disable(logging.WARN) 4 5 from starcluster import tests 6 from starcluster import exception 7 from starcluster import threadpool11 12 _jobs = 5 13 _mykw = 'StarCluster!!!' 14 _pool = None 15 16 @property10018 if not self._pool: 19 self._pool = threadpool.get_thread_pool(10, disable_threads=False) 20 fd = tempfile.TemporaryFile() 21 self._pool.progress_bar.fd = fd 22 return self._pool23 26 29 32 3537 pool = self.pool 38 try: 39 for i in range(self._jobs): 40 pool.simple_job(self._no_args, jobid=i) 41 results = pool.wait(numtasks=self._jobs) 42 print "no_args: %s" % results 43 assert results.count(None) == self._jobs 44 except exception.ThreadPoolException, e: 45 raise Exception(e.format_excs())4648 try: 49 pool = self.pool 50 for i in range(self._jobs): 51 pool.simple_job(self._args_only, i, jobid=i) 52 results = pool.wait(numtasks=self._jobs) 53 results.sort() 54 print "args_only: %s" % results 55 assert results == range(self._jobs) 56 except exception.ThreadPoolException, e: 57 raise Exception(e.format_excs())5860 pool = self.pool 61 try: 62 for i in range(self._jobs): 63 pool.simple_job(self._kwargs_only, 64 kwargs=dict(mykw=self._mykw), jobid=i) 65 results = pool.wait(numtasks=self._jobs) 66 print "kwargs_only: %s" % results 67 assert results.count(self._mykw) == self._jobs 68 except exception.ThreadPoolException, e: 69 raise Exception(e.format_excs())7072 pool = self.pool 73 try: 74 for i in range(self._jobs): 75 pool.simple_job(self._args_and_kwargs, i, 76 kwargs=dict(mykw=self._mykw), jobid=i) 77 results = pool.wait(numtasks=self._jobs) 78 results.sort() 79 print "args_and_kwargs: %s" % results 80 assert results == zip(range(self._jobs), 81 [dict(mykw=self._mykw)] * self._jobs) 82 except exception.ThreadPoolException, e: 83 raise Exception(e.format_excs())8486 try: 87 r = 20 88 ref = map(lambda x: x ** 2, range(r)) 89 calc = self.pool.map(lambda x: x ** 2, range(r)) 90 calc.sort() 91 assert ref == calc 92 for i in range(r): 93 self.pool.simple_job(lambda x: x ** 2, i, jobid=i) 94 self.pool.wait(return_results=False) 95 calc = self.pool.map(lambda x: x ** 2, range(r)) 96 calc.sort() 97 assert ref == calc 98 except exception.ThreadPoolException, e: 99 raise Exception(e.format_excs())
Home | Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0.1 on Tue Jan 3 23:11:48 2012 | http://epydoc.sourceforge.net |