diff options
| author | Paul Buetow <paul@buetow.org> | 2026-06-16 17:35:43 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-06-16 17:35:43 +0300 |
| commit | b58d9b3f656f2e6be803a1d2d567a066bb8b902a (patch) | |
| tree | 510321ae17865693b36f5aa7b69da6d6bfa88e6a /src/lib/template.source.sh | |
| parent | 1309aff1606f7ec0f63b8b80a0b2d15d41697de9 (diff) | |
vn0 parallelize preview pages and navigation redirects
Only per-photo view/detail pages were backgrounded; preview pages
(page-*.html) and navigation redirects rendered serially in the main
loop, serializing album generation.
- render_full_preview_page assembles a complete preview page (header,
optional prev link, ordered thumbnails, next/footer) in one call so
the per-page appends stay sequential; queue_preview_page_render_job
backgrounds each whole page via the shared template render pool,
throttled to IMAGE_JOBS.
- render_album_pages now materializes the full deterministic page
layout up front (album_page_records) and enqueues both view jobs and
one preview-page job per page into the same pool; per-photo
bookkeeping moved to _album_record_view_photo.
- render_view_redirects enqueues one job per view page
(render_page_view_redirects) and blocks until all redirects exist,
preserving its synchronous contract while parallelizing the work.
- Removed obsolete advance_album_preview_page and
render_album_page_thumbnail.
Parallelism only affects timing: seeded random choices are
context-keyed, so output is byte-identical across runs. A failed
preview or redirect job flips render_failed and makes generation exit
non-zero, matching the view-job failure contract. The IMAGE_JOBS cap
still bounds concurrent renders.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Diffstat (limited to 'src/lib/template.source.sh')
0 files changed, 0 insertions, 0 deletions
