/
kamball
/
lab11
Обзор
Документация
Войти
/
kamball
/
lab11
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
start_localstack.py
81 строка
3 KB
kambal23123
first_commit
20 дек 2025, 14:14
20 дек 2025, 14:14
15d96ee
Код
Авторство
О чём код?
import subprocess import time import requests import os def start_localstack(): """Запускает LocalStack через docker-compose""" print("🚀 Запускаем LocalStack...") try: # Проверяем, не запущен ли уже LocalStack try: response = requests.get("http://localhost:4566/_localstack/health", timeout=2) if response.status_code == 200: print("✅ LocalStack уже запущен") return True except: pass # Запускаем docker-compose result = subprocess.run( ["docker-compose", "up", "-d"], capture_output=True, text=True ) if result.returncode != 0: print(f"❌ Ошибка запуска docker-compose: {result.stderr}") return False # Ждем пока LocalStack запустится print("⏳ Ожидаем запуска LocalStack...") for i in range(30): # Ждем до 30 секунд try: response = requests.get("http://localhost:4566/_localstack/health", timeout=2) if response.status_code == 200: print("✅ LocalStack успешно запущен") return True except: pass time.sleep(1) print("❌ LocalStack не запустился за 30 секунд") return False except FileNotFoundError: print("❌ docker-compose не найден. Установите Docker и docker-compose") return False except Exception as e: print(f"❌ Ошибка: {e}") return False def stop_localstack(): """Останавливает LocalStack""" print("🛑 Останавливаем LocalStack...") try: result = subprocess.run( ["docker-compose", "down"], capture_output=True, text=True ) if result.returncode == 0: print("✅ LocalStack остановлен") return True else: print(f"❌ Ошибка остановки: {result.stderr}") return False except Exception as e: print(f"❌ Ошибка: {e}") return False if __name__ == "__main__": if start_localstack(): print("✅ LocalStack готов к работе") else: print("❌ Не удалось запустить LocalStack")