#!/bin/bash

APP_DIR="${APP_DIR:-/var/www/html}"
APP_NAME=$(basename "$APP_DIR")
LOG_FILE="${APP_DIR}/var/log/messenger-worker.log"
PID_FILE="/tmp/messenger-worker-${APP_NAME}.pid"

# Stop existing worker if running
if [ -f "$PID_FILE" ] && kill -0 "$(cat $PID_FILE)" 2>/dev/null; then
    kill "$(cat $PID_FILE)"
    rm -f "$PID_FILE"
fi
pkill -f "messenger:consume.*${APP_DIR}" 2>/dev/null || true

# Start new worker as a proper daemon
cd "$APP_DIR"
nohup php bin/console messenger:consume async \
    >> "$LOG_FILE" 2>&1 &

echo $! > "$PID_FILE"
disown $!

echo "Messenger worker started (PID: $(cat $PID_FILE), app: $APP_DIR)"
