All checks were successful
continuous-integration/drone/push Build is passing
79 lines
3.4 KiB
Bash
Executable File
79 lines
3.4 KiB
Bash
Executable File
#!/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 |