2025-11-21 15:37:18 +01:00
|
|
|
#!/bin/bash
|
|
|
|
|
#
|
|
|
|
|
# Stop AI Services
|
2025-11-22 09:22:16 +01:00
|
|
|
# Gracefully stops all services managed by Supervisor
|
2025-11-21 15:37:18 +01:00
|
|
|
#
|
|
|
|
|
|
|
|
|
|
set -e
|
|
|
|
|
|
2025-11-22 09:22:16 +01:00
|
|
|
WORKSPACE_DIR="${WORKSPACE_DIR:-/workspace}"
|
|
|
|
|
SUPERVISORD_CONF="${WORKSPACE_DIR}/supervisord.conf"
|
|
|
|
|
|
2025-11-21 15:37:18 +01:00
|
|
|
echo "========================================="
|
|
|
|
|
echo " Stopping AI Services"
|
|
|
|
|
echo "========================================="
|
|
|
|
|
echo ""
|
|
|
|
|
|
2025-11-22 09:22:16 +01:00
|
|
|
# Check if supervisord is running
|
|
|
|
|
if [ ! -f "${WORKSPACE_DIR}/supervisord.pid" ]; then
|
|
|
|
|
echo "Supervisor is not running (no PID file found)"
|
|
|
|
|
echo "Cleaning up any stray processes..."
|
|
|
|
|
pkill -f "orchestrator_subprocess.py" || echo " - Orchestrator not running"
|
|
|
|
|
pkill -f "ComfyUI.*main.py" || echo " - ComfyUI not running"
|
|
|
|
|
echo ""
|
|
|
|
|
echo "All services stopped"
|
|
|
|
|
exit 0
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
PID=$(cat "${WORKSPACE_DIR}/supervisord.pid")
|
|
|
|
|
if ! ps -p "$PID" > /dev/null 2>&1; then
|
|
|
|
|
echo "Supervisor PID file exists but process is not running"
|
|
|
|
|
echo "Removing stale PID file..."
|
|
|
|
|
rm -f "${WORKSPACE_DIR}/supervisord.pid"
|
|
|
|
|
echo ""
|
|
|
|
|
echo "All services stopped"
|
|
|
|
|
exit 0
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# Stop all supervised services
|
|
|
|
|
echo "Stopping all supervised services..."
|
|
|
|
|
supervisorctl -c "${SUPERVISORD_CONF}" stop all
|
|
|
|
|
|
|
|
|
|
sleep 2
|
2025-11-21 15:37:18 +01:00
|
|
|
|
2025-11-22 09:22:16 +01:00
|
|
|
# Shutdown supervisord
|
|
|
|
|
echo "Shutting down Supervisor daemon..."
|
|
|
|
|
supervisorctl -c "${SUPERVISORD_CONF}" shutdown
|
2025-11-21 15:37:18 +01:00
|
|
|
|
|
|
|
|
echo ""
|
|
|
|
|
echo "All services stopped"
|