wave
wave copied to clipboard
Decouple build status from persistence service
Context
When a build request is submitted the build status is stored via the persistent service here and later update here.
This record is used to check build status and to describe the build itself.
Goal
The goal of this issue is to increase the system scalability and reliability by decoupling the build status from persistence service, and using instead the Redis in-memory caching system.
Implementation
- when a new build is submitted, store the build record in a redis dictionary using a 1 day retention, instead of using persistence service here.
- when the build completed the build record should be update in the redis dictionary and the same record created in the persistence service here
- modify the build read operation so that the record is loaded from the redis dictionary first and then a fallback read is made via the persistent service