Spaces:
Running
Running
| from collections import OrderedDict | |
| from threading import Thread | |
| from flask import Flask | |
| flask_app = Flask(__name__) | |
| def home() -> str: | |
| """ | |
| Keepalive endpoint for hosting services. | |
| """ | |
| return "I'm alive" | |
| def keepalive_run() -> None: | |
| """ | |
| Run keepalive Flask app in a daemon thread. | |
| """ | |
| def flask_run(): | |
| flask_app.run(host="0.0.0.0", port="7860") | |
| flask_thread = Thread(target=flask_run, daemon=True) | |
| flask_thread.start() | |
| class LRUCache: | |
| """Least Recently Used (LRU) cache prototype implementation""" | |
| def __init__(self, max_size): | |
| self.max_size = max_size | |
| self.cache = OrderedDict() | |
| def __getitem__(self, key): | |
| try: | |
| val = self.cache[key] | |
| self.cache.move_to_end(key) | |
| return val | |
| except KeyError: | |
| return None | |
| def __setitem__(self, key, value): | |
| self.cache[key] = value | |
| self.cache.move_to_end(key) | |
| if len(self.cache) > self.max_size: | |
| self.cache.popitem(last=False) | |