mock_sobes
← Чтение чужого кода + код-ревью + network debug
middle code_explain #612
📖 Что делает этот код?
```python
from functools import wraps
from time import time

def cached(ttl_sec=60):
    def deco(fn):
        cache = {}
        @wraps(fn)
        def wrapper(*args, **kwargs):
            key = (args, tuple(sorted(kwargs.items())))
            now = time()
            if key in cache:
                val, ts = cache[key]
                if now - ts < ttl_sec:
                    return val
            result = fn(*args, **kwargs)
            cache[key] = (result, now)
            return result
        return wrapper
    return deco
```
Что делает декоратор, какие у него проблемы.
Чтобы решить вопрос и сохранить попытку — войди.