Mercurial > piecrust2
comparison piecrust/environment.py @ 455:cb3446be44b7
bake: Abort "render first" jobs if we start using other pages.
This prevents the baker from having one worker stuck on a very long job, like
rendering the index page of a blog with lots and lots of posts.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Wed, 08 Jul 2015 22:51:29 -0700 |
parents | 3b658190c02b |
children | 81d9c3a3a0b5 |
comparison
equal
deleted
inserted
replaced
454:96d363e2da4b | 455:cb3446be44b7 |
---|---|
3 import contextlib | 3 import contextlib |
4 from piecrust.cache import MemCache | 4 from piecrust.cache import MemCache |
5 | 5 |
6 | 6 |
7 logger = logging.getLogger(__name__) | 7 logger = logging.getLogger(__name__) |
8 | |
9 | |
10 class AbortedSourceUseError(Exception): | |
11 pass | |
8 | 12 |
9 | 13 |
10 class ExecutionInfo(object): | 14 class ExecutionInfo(object): |
11 def __init__(self, page, render_ctx): | 15 def __init__(self, page, render_ctx): |
12 self.page = page | 16 self.page = page |
58 self.page_repository = MemCache() | 62 self.page_repository = MemCache() |
59 self.rendered_segments_repository = MemCache() | 63 self.rendered_segments_repository = MemCache() |
60 self.fs_caches = { | 64 self.fs_caches = { |
61 'renders': self.rendered_segments_repository} | 65 'renders': self.rendered_segments_repository} |
62 self.fs_cache_only_for_main_page = False | 66 self.fs_cache_only_for_main_page = False |
67 self.abort_source_use = False | |
63 self._default_layout_extensions = None | 68 self._default_layout_extensions = None |
64 self._timers = {} | 69 self._timers = {} |
65 | 70 |
66 @property | 71 @property |
67 def default_layout_extensions(self): | 72 def default_layout_extensions(self): |