comparison piecrust/baking/worker.py @ 691:9ae9390192da

bake: Use standard pickle and queue for now to fix some small issues. * JSON leads to some problems with integers as keys. * Add some stats to the baking process.
author Ludovic Chabant <ludovic@chabant.com>
date Mon, 21 Mar 2016 22:28:57 -0700
parents f7207f4dab82
children 3bc9f857eb48
comparison
equal deleted inserted replaced
690:f7207f4dab82 691:9ae9390192da
69 def process(self, job): 69 def process(self, job):
70 handler = self.job_handlers[job['type']] 70 handler = self.job_handlers[job['type']]
71 with self.ctx.app.env.timerScope(type(handler).__name__): 71 with self.ctx.app.env.timerScope(type(handler).__name__):
72 return handler.handleJob(job['job']) 72 return handler.handleJob(job['job'])
73 73
74 def getReport(self): 74 def getReport(self, pool_reports):
75 self.ctx.app.env.stepTimerSince("BakeWorker_%d_Total" % self.wid, 75 self.ctx.app.env.stepTimerSince("BakeWorker_%d_Total" % self.wid,
76 self.work_start_time) 76 self.work_start_time)
77 data = self.ctx.app.env.getStats() 77 data = self.ctx.app.env.getStats()
78 data.timers.update(pool_reports)
78 return { 79 return {
79 'type': 'stats', 80 'type': 'stats',
80 'data': data} 81 'data': data}
81 82
82 83