#!/bin/bash # Скрипт для перезапуска календарного сервиса после внесения изменений # Цвета для вывода GREEN="\033[0;32m" YELLOW="\033[0;33m" RED="\033[0;31m" NC="\033[0m" # No Color # Переход в директорию проекта cd "$(dirname "$0")" || { echo -e "${RED}Не удалось перейти в директорию проекта${NC}"; exit 1; } # Активация виртуального окружения if [ -d "venv" ]; then echo -e "${YELLOW}Активация виртуального окружения...${NC}" source venv/bin/activate fi # Установка переменной PYTHONPATH export PYTHONPATH="${PWD}:${PYTHONPATH}" # Остановка текущего экземпляра сервиса echo -e "${YELLOW}Остановка календарного сервиса...${NC}" pid=$(lsof -t -i:8004 2>/dev/null) if [ -n "$pid" ]; then kill $pid sleep 2 fi # Перезапуск сервиса echo -e "${GREEN}Перезапуск календарного сервиса на порту 8004...${NC}" python -m uvicorn services.calendar_service.main:app --host 0.0.0.0 --port 8004 & echo -e "${GREEN}✅ Календарный сервис перезапущен${NC}" echo -e "${YELLOW}Подождите несколько секунд для инициализации...${NC}" sleep 3 # Проверка работоспособности echo -e "${YELLOW}Проверка работоспособности...${NC}" if curl -s http://localhost:8004/health > /dev/null; then echo -e "${GREEN}✅ Календарный сервис успешно запущен${NC}" else echo -e "${RED}❌ Проблемы с запуском календарного сервиса${NC}" fi echo -e "${YELLOW}Сохраняем PID для дальнейшего использования...${NC}" lsof -t -i:8004 > /tmp/calendar_service.pid