# HG changeset patch # User Ludovic Chabant # Date 1511679708 28800 # Node ID 09c3d415d9e591fe634979d87b9ac87616146123 # Parent 09dc0240f08a33476a097dedde7ca40f61a0e08e bake: Make `batch-size` option work again. diff -r 09dc0240f08a -r 09c3d415d9e5 piecrust/workerpool.py --- a/piecrust/workerpool.py Sat Nov 25 23:01:33 2017 -0800 +++ b/piecrust/workerpool.py Sat Nov 25 23:01:48 2017 -0800 @@ -178,15 +178,15 @@ for td in task_data_list: try: - res = w.process(td) - result_list.append((td, res, True)) + worker_res = w.process(td) + result_list.append((td, worker_res, True)) except Exception as e: logger.debug( "Error processing job, sending exception to main process:") logger.debug(traceback.format_exc()) we = _get_worker_exception_data(wid) - res = (td, we, False) - result_list.append((td, res, False)) + error_res = (td, we, False) + result_list.append((td, error_res, False)) res = (task_type, wid, result_list) put_start_time = time.perf_counter() @@ -384,9 +384,9 @@ return True - def _onTaskDone(self): + def _onTaskDone(self, done_count): with self._lock_jobs_left: - left = self._jobs_left - 1 + left = self._jobs_left - done_count self._jobs_left = left if left == 0: @@ -431,8 +431,8 @@ except Exception as ex: logger.exception(ex) - if task_type == TASK_JOB: - pool._onTaskDone() + if task_type == TASK_JOB or task_type == TASK_JOB_BATCH: + pool._onTaskDone(len(res_data_list)) class _ReportHandler: