Исправление ошибки 500 при сохранении исключенных контейнеров
- Исправлен путь к файлу excluded_containers.json в функциях load_excluded_containers и save_excluded_containers - Добавлено создание директории при необходимости - Улучшено логирование операций с файлом - Протестирована функциональность API endpoints - Обновлен список исключенных контейнеров Автор: Сергей Антропов Сайт: https://devops.org.ru
This commit is contained in:
@@ -30,17 +30,20 @@ def load_excluded_containers() -> List[str]:
|
||||
Сайт: https://devops.org.ru
|
||||
"""
|
||||
try:
|
||||
with open("app/excluded_containers.json", "r", encoding="utf-8") as f:
|
||||
# Определяем путь к файлу относительно корня проекта
|
||||
file_path = os.path.join(os.path.dirname(os.path.dirname(__file__)), "excluded_containers.json")
|
||||
|
||||
with open(file_path, "r", encoding="utf-8") as f:
|
||||
data = json.load(f)
|
||||
return data.get("excluded_containers", [])
|
||||
except FileNotFoundError:
|
||||
docker_logger.warning("Файл app/excluded_containers.json не найден, используем пустой список")
|
||||
docker_logger.warning(f"Файл excluded_containers.json не найден по пути {file_path}, используем пустой список")
|
||||
return []
|
||||
except json.JSONDecodeError as e:
|
||||
docker_logger.error(f"Ошибка парсинга app/excluded_containers.json: {e}")
|
||||
docker_logger.error(f"Ошибка парсинга excluded_containers.json: {e}")
|
||||
return []
|
||||
except Exception as e:
|
||||
docker_logger.error(f"Ошибка загрузки app/excluded_containers.json: {e}")
|
||||
docker_logger.error(f"Ошибка загрузки excluded_containers.json: {e}")
|
||||
return []
|
||||
|
||||
def save_excluded_containers(containers: List[str]) -> bool:
|
||||
@@ -50,15 +53,24 @@ def save_excluded_containers(containers: List[str]) -> bool:
|
||||
Сайт: https://devops.org.ru
|
||||
"""
|
||||
try:
|
||||
# Определяем путь к файлу относительно корня проекта
|
||||
file_path = os.path.join(os.path.dirname(os.path.dirname(__file__)), "excluded_containers.json")
|
||||
|
||||
data = {
|
||||
"excluded_containers": containers,
|
||||
"description": "Список контейнеров, которые генерируют слишком много логов и исключаются из отображения"
|
||||
}
|
||||
with open("app/excluded_containers.json", "w", encoding="utf-8") as f:
|
||||
|
||||
# Создаем директорию, если она не существует
|
||||
os.makedirs(os.path.dirname(file_path), exist_ok=True)
|
||||
|
||||
with open(file_path, "w", encoding="utf-8") as f:
|
||||
json.dump(data, f, indent=2, ensure_ascii=False)
|
||||
|
||||
docker_logger.info(f"Список исключенных контейнеров сохранен в {file_path}")
|
||||
return True
|
||||
except Exception as e:
|
||||
docker_logger.error(f"Ошибка сохранения app/excluded_containers.json: {e}")
|
||||
docker_logger.error(f"Ошибка сохранения excluded_containers.json: {e}")
|
||||
return False
|
||||
|
||||
def get_all_projects() -> List[str]:
|
||||
|
||||
Reference in New Issue
Block a user