def chain_render_docs(self, docs): tasks = [] count = 0 total = len(docs) n = int(ceil(total / 5)) chunks = chunked(docs, n) for chunk in chunks: count += len(chunk) tasks.append( render_document_chunk.si(chunk, self.cache_control, self.base_url, self.options['force'])) percent_complete = int(ceil((count / total) * 100)) tasks.append( email_render_document_progress.si(percent_complete, total)) # Make it so. chain(*tasks).apply_async()
def chain_render_docs(self, docs, cache_control, base_url, force, invalidate_cdn_cache=False): tasks = [] count = 0 total = len(docs) n = int(ceil(total / 5)) chunks = chunked(docs, n) for chunk in chunks: count += len(chunk) tasks.append( render_document_chunk.si(chunk, cache_control, base_url, force, invalidate_cdn_cache)) percent_complete = int(ceil((count / total) * 100)) tasks.append( email_document_progress.si('render_document', percent_complete, total)) # Make it so. chain(*tasks).apply_async()