comparison piecrust/baking/worker.py @ 1014:071f30aa04bb

bake: Do template caching in a background job if possible.
author Ludovic Chabant <ludovic@chabant.com>
date Tue, 28 Nov 2017 21:28:15 -0800
parents 2e5c5d33d62c
children fa489c5e829e
comparison
equal deleted inserted replaced
1013:6370ab74b2d5 1014:071f30aa04bb
78 78
79 def process(self, job): 79 def process(self, job):
80 source_name, item_spec = job['job_spec'] 80 source_name, item_spec = job['job_spec']
81 logger.debug("Received job: %s@%s" % (source_name, item_spec)) 81 logger.debug("Received job: %s@%s" % (source_name, item_spec))
82 82
83 # Check for special jobs.
84 if source_name == '__special__':
85 if item_spec == 'populate_template_cache':
86 for eng in self.app.plugin_loader.getTemplateEngines():
87 eng.populateCache()
88 else:
89 raise Exception("Unknown special job: %s" % item_spec)
90 return {}
91
83 # Run the job! 92 # Run the job!
84 job_start = time.perf_counter() 93 job_start = time.perf_counter()
85 pp = self.ppmngr.getPipeline(source_name) 94 pp = self.ppmngr.getPipeline(source_name)
86 runctx = PipelineJobRunContext(job, pp.record_name, 95 runctx = PipelineJobRunContext(job, pp.record_name,
87 self.previous_records) 96 self.previous_records)