Spaces:
Running
Running
File size: 1,131 Bytes
98ce236 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
from collections import OrderedDict
from threading import Thread
from flask import Flask
flask_app = Flask(__name__)
@flask_app.route("/", methods=["GET"])
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)
|