Mercurial > piecrust2
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 |