Add locking cache call to cache service
To support larger or more complex operations that aren't scheduled or always available in a cache, we should add support for a locking cache call. This call would work alongside the current get
operation as a call with the signature getLocking
. In the new call, an atomic lock would be created for keys and used to lock requests in a thread-safe manner, and would only release when the calculation is complete or fails. The next call would then be allowed to process the key and so on.