Add runtime limiter to VSA aggregation service
What does this MR do and why?
Not user facing change.
Problem: The Analytics::CycleAnalytics::DataLoaderService
takes too much time and increases our error budget. We have limits (record counts) to reduce the runtime, however it's not working well because the query times differ from group to group.
This MR passes down the runtime_limiter
instance that tracks the total runtime of the aggregation jobs and once we reach the limit, the service will return early. (Note: after that the next worker pick up the work where the previous one has stopped.)
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Related to #394857 (closed)
Edited by Adam Hegyi