Load a project's CI status in batch from redis
What does this MR do?
In this we're loading all pipeline statuses from redis in batch using Redis#multi. When the status couldn't be found in redis, a new entry is created, this is still using a different connection.
So once all projects being displayed have their status cached in redis, we only need one connection to fetch them.
Why was this MR needed?
To improve the view rendering as discussed in #27376 (closed). This would also affect #27390 (closed) and all other actions where views/shared/projects/_list.html.haml
is rendered.
This should also decrease the the number of opened connections #29582 (closed)
Does this MR meet the acceptance criteria?
-
Changelog entry added, if necessary - Tests
-
Added for this feature/bug -
All builds are passing
-
-
Conform by the merge request performance guides -
Conform by the style guides -
Branch has no merge conflicts with master
(if it does - rebase it please)
What are the relevant issue numbers?
Closes #27376 (closed)