youtube-summarizer/scripts/restart-backend.sh

53 lines
1.6 KiB
Bash
Executable File

#!/bin/bash
# YouTube Summarizer Backend Restart Script
# Kills existing backend server and starts a new one
echo "🔄 Restarting YouTube Summarizer Backend..."
# Kill any existing backend processes
echo "🛑 Stopping existing backend processes..."
# Kill processes on backend port range (8000-8010)
for port in {8000..8010}; do
lsof -ti :$port | xargs -r kill -9 2>/dev/null && echo " Killed process on port $port"
done
# Also kill by process name patterns
pkill -f "backend/main.py" 2>/dev/null || true
pkill -f "python.*backend.*main.py" 2>/dev/null || true
pkill -f "python3.*backend.*main.py" 2>/dev/null || true
pkill -f "uvicorn.*main:app" 2>/dev/null || true
# Check if any processes were found
if [ $? -eq 0 ]; then
echo " Stopped existing backend processes"
else
echo " No existing backend processes found"
fi
# Wait a moment for processes to terminate
sleep 2
# Start the backend server
echo "🚀 Starting backend server..."
cd "$(dirname "$0")/.." || exit 1
# Export PYTHONPATH and start backend
export PYTHONPATH="$(pwd)"
nohup python3.11 backend/main.py > logs/backend.log 2>&1 &
BACKEND_PID=$!
# Wait a moment and check if server started successfully
sleep 3
if ps -p $BACKEND_PID > /dev/null; then
echo "✅ Backend server started successfully (PID: $BACKEND_PID)"
echo "📊 Backend running on: http://localhost:8000"
echo "📚 API docs available at: http://localhost:8000/docs"
echo "📋 Logs: tail -f logs/backend.log"
else
echo "❌ Backend server failed to start"
echo "📋 Check logs: cat logs/backend.log"
exit 1
fi