Files
chat/run_services_for_emulator.sh
Andrew K. Choi 91c7e04474
All checks were successful
continuous-integration/drone/push Build is passing
API refactor
2025-10-07 16:25:52 +09:00

79 lines
3.4 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# Скрипт для запуска всех микросервисов на всех интерфейсах для Android-эмулятора
echo "🚀 Запускаем все микросервисы для Android-эмулятора..."
# Перейти в директорию проекта
cd "$(dirname "$0")" || { echo "Не удалось перейти в директорию проекта"; exit 1; }
# Активировать виртуальное окружение
source .venv/bin/activate || { echo "Не удалось активировать виртуальное окружение"; exit 1; }
# Получить текущий IP адрес
IP=$(hostname -I | awk '{print $1}')
echo "🔗 Локальный IP адрес: $IP"
echo "📱 Android эмулятор сможет подключиться по адресу: http://$IP:8000"
# Функция для остановки процесса на указанном порту
stop_service() {
local port=$1
if lsof -ti:$port > /dev/null; then
echo "⚠️ Останавливаем процесс на порту $port..."
lsof -ti:$port | xargs kill -9
sleep 1
fi
}
# Останавливаем все сервисы, если они запущены
echo "🛑 Останавливаем все сервисы, если они запущены..."
stop_service 8000 # API Gateway
stop_service 8001 # User Service
stop_service 8002 # Emergency Service
stop_service 8003 # Location Service
stop_service 8004 # Calendar Service
stop_service 8005 # Notification Service
# Экспортируем PYTHONPATH
export PYTHONPATH="${PWD}:${PYTHONPATH}"
# Функция для запуска сервиса
run_service() {
local name=$1
local port=$2
local path=$3
echo "✅ Запускаем $name на порту $port..."
cd $path || { echo "Не удалось перейти в директорию $path"; return; }
python -m uvicorn main:app --host 0.0.0.0 --port $port --reload &
cd $OLDPWD || { echo "Не удалось вернуться в исходную директорию"; return; }
sleep 2
}
# Запускаем все сервисы
echo "🚀 Запускаем все сервисы..."
run_service "User Service" 8001 "services/user_service"
run_service "Emergency Service" 8002 "services/emergency_service"
run_service "Location Service" 8003 "services/location_service"
run_service "Calendar Service" 8004 "services/calendar_service"
run_service "Notification Service" 8005 "services/notification_service"
run_service "API Gateway" 8000 "services/api_gateway"
echo ""
echo "📋 Сервисы доступны по следующим адресам:"
echo " 📡 API Gateway: http://$IP:8000"
echo " 👤 User Service: http://$IP:8001"
echo " 🚨 Emergency Service: http://$IP:8002"
echo " 📍 Location Service: http://$IP:8003"
echo " 📅 Calendar Service: http://$IP:8004"
echo " 🔔 Notification Service: http://$IP:8005"
echo ""
echo "📱 Для Android эмулятора используйте адрес: http://$IP:8000"
echo ""
echo "⚠️ Для остановки всех сервисов выполните: pkill -f uvicorn"
echo ""
echo "🔍 Мониторинг логов запущен. Нажмите Ctrl+C для выхода (сервисы продолжат работать)"
# Мониторим логи
tail -f services/*.log