INNER CODE UNIT · Python
decorator
kr8s-org/kr8s · kr8s/_vendored/asyncache/__init__.py:80
def decorator(func):
if asyncio.iscoroutinefunction(func):
async def wrapper(*args, **kwargs):
k = key(*args, **kwargs)
try:
async with lock:
return cache[k]
except KeyError:
pass # key not found
val = await func(*args, **kwargs)
try:
async with lock:
cache[k] = val