Mercurial > piecrust2
diff piecrust/processing/pipeline.py @ 442:171dde4f61dc
performance: Add profiling to the asset pipeline workers.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Sun, 28 Jun 2015 14:52:58 -0700 |
parents | 6238dcfc7a78 |
children | aefe70229fdd |
line wrap: on
line diff
--- a/piecrust/processing/pipeline.py Sun Jun 28 14:52:37 2015 -0700 +++ b/piecrust/processing/pipeline.py Sun Jun 28 14:52:58 2015 -0700 @@ -255,12 +255,19 @@ ctx.pool.queue.put_nowait(job) def _createWorkerPool(self): + import sys + + main_module = sys.modules['__main__'] + is_profiling = os.path.basename(main_module.__file__) in [ + 'profile.py', 'cProfile.py'] + pool = _WorkerPool() for i in range(self.num_workers): ctx = ProcessingWorkerContext( self.app.root_dir, self.out_dir, self.tmp_dir, pool.queue, pool.results, pool.abort_event, self.force, self.app.debug) + ctx.is_profiling = is_profiling ctx.enabled_processors = self.enabled_processors ctx.additional_processors = self.additional_processors w = multiprocessing.Process(