#!/bin/bash

PROJECT_DIR="/var/www/rotinas"
LOCK_DIR="/tmp/shopee-locks"
LOG_DIR="/tmp/shopee-logs"

mkdir -p "$LOCK_DIR"
mkdir -p "$LOG_DIR"

runCommand() {
    local commandName="$1"
    shift
    local artisanCommand="$@"
    local lockFile="$LOCK_DIR/${commandName}.lock"
    local logFile="$LOG_DIR/${commandName}.log"

    if [ -f "$lockFile" ]; then
        echo "$(date '+%Y-%m-%d %H:%M:%S') - Comando $commandName já está em execução" >> "$logFile"
        return 1
    fi

    echo $$ > "$lockFile"

    echo "$(date '+%Y-%m-%d %H:%M:%S') - Iniciando execução do comando: $commandName" >> "$logFile"
    cd "$PROJECT_DIR" && php artisan $artisanCommand >/dev/null 2>&1
    echo "$(date '+%Y-%m-%d %H:%M:%S') - Finalizando execução do comando: $commandName" >> "$logFile"

    rm -f "$lockFile"
}

runCommand "shopee-create-driver" "shopee:create-driver" &
runCommand "send-email-events" "send:emailEvents" &

wait

echo "$(date '+%Y-%m-%d %H:%M:%S') - Todos os comandos finalizados" >> "$LOG_DIR/run.log"
