Mercurial > piecrust2
comparison piecrust/workerpool.py @ 702:c62d83e17abf
bake: Some more optimizations.
Write the output files in a background thread to get away from the GIL.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Sat, 16 Apr 2016 22:50:07 -0700 |
parents | 9e5393fcfab2 |
children | 4850f8c21b6e |
comparison
equal
deleted
inserted
replaced
701:066d6156525c | 702:c62d83e17abf |
---|---|
23 def process(self, job): | 23 def process(self, job): |
24 raise NotImplementedError() | 24 raise NotImplementedError() |
25 | 25 |
26 def getReport(self, pool_reports): | 26 def getReport(self, pool_reports): |
27 return None | 27 return None |
28 | |
29 def shutdown(self): | |
30 pass | |
28 | 31 |
29 | 32 |
30 TASK_JOB = 0 | 33 TASK_JOB = 0 |
31 TASK_BATCH = 1 | 34 TASK_BATCH = 1 |
32 TASK_END = 2 | 35 TASK_END = 2 |
147 logger.debug("Worker %d waiting for reader/writer threads." % wid) | 150 logger.debug("Worker %d waiting for reader/writer threads." % wid) |
148 local_result_queue.put_nowait(None) | 151 local_result_queue.put_nowait(None) |
149 reader_thread.join() | 152 reader_thread.join() |
150 writer_thread.join() | 153 writer_thread.join() |
151 | 154 |
155 w.shutdown() | |
156 | |
152 logger.debug("Worker %d completed %d tasks." % (wid, completed)) | 157 logger.debug("Worker %d completed %d tasks." % (wid, completed)) |
153 | 158 |
154 | 159 |
155 def _job_queue_reader(getter, out_queue): | 160 def _job_queue_reader(getter, out_queue): |
156 while True: | 161 while True: |