/
Codename-Nik
/
WebApp
Обзор
Документация
Войти
/
Codename-Nik
/
WebApp
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
backend/wait_for_db.py
34 строки
1022 B
Nikolay Pokhodnya
first commit
03 ноя 2025, 19:47
03 ноя 2025, 19:47
a9fbdee
Код
Авторство
О чём код?
import time import sys import os import django from django.db import connections from django.db.utils import OperationalError # Add the parent directory to Python path sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'core.settings') django.setup() def wait_for_db(): """Wait for database to be available""" print("Waiting for database...") max_retries = 30 retry_count = 0 while retry_count < max_retries: try: connections['default'].ensure_connection() print("✅ Database is available!") return True except OperationalError as e: retry_count += 1 print(f"❌ Database unavailable, waiting 2 seconds... (attempt {retry_count}/{max_retries})") print(f"Error: {e}") time.sleep(2) print("💥 Could not connect to database after multiple attempts") return False if __name__ == '__main__': wait_for_db()