Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -8,7 +8,7 @@ import hashlib
|
|
8 |
app = Flask(__name__)
|
9 |
|
10 |
# Настройка кэширования
|
11 |
-
|
12 |
|
13 |
# Настройка логирования
|
14 |
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
|
@@ -31,12 +31,12 @@ def translate_text(text):
|
|
31 |
dict: Словарь с результатом перевода или оригинальным текстом, а также информацией об ошибке.
|
32 |
Формат: {"result": "переведенный текст", "original": "исходный текст", "error": null/сообщение об ошибке}
|
33 |
"""
|
34 |
-
|
35 |
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
|
41 |
try:
|
42 |
language = detect(text)
|
@@ -53,7 +53,7 @@ def translate_text(text):
|
|
53 |
translated_text = translator.translate(text)
|
54 |
app.logger.info(f"Translated from {language} to en")
|
55 |
result = {"result": translated_text, "original": text, "error": None}
|
56 |
-
|
57 |
return result
|
58 |
except Exception as e:
|
59 |
app.logger.error(f"Error translating prompt: {e}")
|
@@ -63,7 +63,7 @@ def translate_text(text):
|
|
63 |
else:
|
64 |
app.logger.info("Text is already in English")
|
65 |
result = {"result": text, "original": text, "error": None}
|
66 |
-
|
67 |
return result
|
68 |
|
69 |
|
|
|
8 |
app = Flask(__name__)
|
9 |
|
10 |
# Настройка кэширования
|
11 |
+
cache = TTLCache(maxsize=1024, ttl=86400) # Максимальный размер кэша 1024, срок жизни 24 часа (86400 секунд)
|
12 |
|
13 |
# Настройка логирования
|
14 |
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
|
|
|
31 |
dict: Словарь с результатом перевода или оригинальным текстом, а также информацией об ошибке.
|
32 |
Формат: {"result": "переведенный текст", "original": "исходный текст", "error": null/сообщение об ошибке}
|
33 |
"""
|
34 |
+
cache_key = generate_cache_key(text)
|
35 |
|
36 |
+
cached_result = cache.get(cache_key)
|
37 |
+
if cached_result:
|
38 |
+
app.logger.info(f"Cache hit for key: {cache_key}")
|
39 |
+
return cached_result
|
40 |
|
41 |
try:
|
42 |
language = detect(text)
|
|
|
53 |
translated_text = translator.translate(text)
|
54 |
app.logger.info(f"Translated from {language} to en")
|
55 |
result = {"result": translated_text, "original": text, "error": None}
|
56 |
+
cache[cache_key] = result # Кэшируем результат
|
57 |
return result
|
58 |
except Exception as e:
|
59 |
app.logger.error(f"Error translating prompt: {e}")
|
|
|
63 |
else:
|
64 |
app.logger.info("Text is already in English")
|
65 |
result = {"result": text, "original": text, "error": None}
|
66 |
+
cache[cache_key] = result # Кэшируем результат
|
67 |
return result
|
68 |
|
69 |
|