-
Notifications
You must be signed in to change notification settings - Fork 36
Open
Description
Hello, sorry if this questions is a bit broad, but I'm looking for a way to not make ring be specifically tied to one precise backend, after the functions have been evaluated.
For example, I often need to dynamically switch from a dev environment to a staging or prod environment, and it would really be problematic if the cache was sharing values from all of those different environment.
One solution I have found is just to disable ring for non prod environments with my own decorator.
def redis_cache(expire: int, coder: str):
def decorator_redis_cache(func):
if get_current_stage() == Stage.PROD:
client = get_redis_client()
return ring.redis(client=client, expire=expire, coder=coder)(func)
else:
return func
return decorator_redis_cache
but this is far from perfect.
I don't know if there would be a way to get the client dynamically inside ring via a function call...
Sorry if this seems a bit noobish.
Metadata
Metadata
Assignees
Labels
No labels