Skip to content

Render and serve fully static result pages from S3 to improve performance #380

@vlatada

Description

@vlatada

Currently, result pages are rendered by the API server and returned as HTML. Static assets including cutout images and SED fit data are fetched from S3 during this process server-side. We recently improved the efficiency of this rendering by generating compressed images (a.k.a "thumbnails") for the cutout images and SED fit plots. However, the Django database is queried multiple times during the rendering process, both to determine the location of these static images and to extract the other scientific data values displayed on the results page.

We want to explore the feasibility of rendering a complete static results page during the workflow that is stored alongside other static assets like the thumbnail files in the S3 bucket. The results() rendering function would first check if this static page file existed at a canonical location (e.g. .../result_page/2026abc/2026abc.results.html), streaming it directly from the bucket if so; otherwise rendering it dynamically as is currently done.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions