#!/bin/bash
# Start Maya3 workers on a remote cluster
#
# Usage:
#   ./start_workers.sh <host> <ssh_key> [user] [options]
#
# Options are passed directly to massive_process.py

set -e

HOST=$1
SSH_KEY=$2
USER=${3:-root}
shift 3 || shift $#
EXTRA_ARGS="$@"

SSH_OPTS="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i $SSH_KEY"
SSH_CMD="ssh $SSH_OPTS $USER@$HOST"

echo "Starting workers on $HOST..."

# Start in screen/tmux for persistence
$SSH_CMD << REMOTE_SCRIPT
cd /workspace/maya3_data
source .env

# Kill any existing workers
pkill -f "massive_process.py" || true
sleep 2

# Start workers in background with nohup
nohup .venv/bin/python massive_process.py \
    --supabase-queue \
    --r2-upload \
    --background-export \
    --export-workers 4 \
    --output ./output \
    $EXTRA_ARGS \
    > /tmp/maya3_workers.log 2>&1 &

echo "Workers started. PID: \$!"
echo "Log: /tmp/maya3_workers.log"

# Show initial log
sleep 3
tail -20 /tmp/maya3_workers.log
REMOTE_SCRIPT

echo "Workers started on $HOST"
