Skip to content

Async ci fetch

Make cache.pipeline_result_for_id() and cache.trace_results_for_id() asynchronous, returning a future instead of the result directly. This allows the view to fetch results concurrently, significantly reducing the page loading time when results are not in the cache (on my system the landing loading time goes from ~50s to ~10s).

To avoid problematic concurrent database interactions, access to the the db is serialized with a thread lock.

Merge request reports