#!/bin/bash

# Django ve Celery servislerini durdurma scripti
# Kullanım: ./stop-services.sh

set -e

echo "🛑 Django ve Celery servisleri durduruluyor..."

# Renk kodları
GREEN='\033[0;32m'
RED='\033[0;31m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color

# PID dosyaları
PID_DIR="./pids"
DJANGO_PID="$PID_DIR/django.pid"
CELERY_WORKER_PID="$PID_DIR/celery_worker.pid"

# Django'yu durdur
if [ -f "$DJANGO_PID" ]; then
    DJANGO_PID_VALUE=$(cat $DJANGO_PID)
    if ps -p $DJANGO_PID_VALUE > /dev/null 2>&1; then
        echo -e "${BLUE}Django sunucusu durduruluyor (PID: $DJANGO_PID_VALUE)${NC}"
        kill -TERM $DJANGO_PID_VALUE 2>/dev/null || true
        sleep 2
        if ps -p $DJANGO_PID_VALUE > /dev/null 2>&1; then
            kill -9 $DJANGO_PID_VALUE 2>/dev/null || true
        fi
        echo -e "${GREEN}✅ Django sunucusu durduruldu${NC}"
    else
        echo -e "${RED}⚠️  Django sunucusu zaten çalışmıyor${NC}"
    fi
    rm -f $DJANGO_PID
else
    echo -e "${RED}⚠️  Django PID dosyası bulunamadı${NC}"
fi

# Celery'yi durdur
if [ -f "$CELERY_WORKER_PID" ]; then
    CELERY_PID_VALUE=$(cat $CELERY_WORKER_PID)
    if ps -p $CELERY_PID_VALUE > /dev/null 2>&1; then
        echo -e "${BLUE}Celery worker durduruluyor (PID: $CELERY_PID_VALUE)${NC}"
        kill -TERM $CELERY_PID_VALUE 2>/dev/null || true
        sleep 2
        if ps -p $CELERY_PID_VALUE > /dev/null 2>&1; then
            kill -9 $CELERY_PID_VALUE 2>/dev/null || true
        fi
        echo -e "${GREEN}✅ Celery worker durduruldu${NC}"
    else
        echo -e "${RED}⚠️  Celery worker zaten çalışmıyor${NC}"
    fi
    rm -f $CELERY_WORKER_PID
else
    echo -e "${RED}⚠️  Celery PID dosyası bulunamadı${NC}"
fi

# Ek temizlik - kalan celery process'leri
echo -e "${BLUE}Kalan Celery process'leri temizleniyor...${NC}"
pkill -f "celery worker" 2>/dev/null || true

echo -e "\n${GREEN}========================================${NC}"
echo -e "${GREEN}✅ Tüm servisler durduruldu${NC}"
echo -e "${GREEN}========================================${NC}"

