#!/usr/bin/env bash
set -euo pipefail

PIPELINE_DIR="$(cd "$(dirname "$0")" && pwd)"
LOCK_FILE="${PIPELINE_DIR}/.backfill.lock"
LOG_DIR="${PIPELINE_DIR}/logs"

mkdir -p "$LOG_DIR"

LOG_FILE="${LOG_DIR}/backfill-$(date +%Y-%m-%d).log"

exec >> "$LOG_FILE" 2>&1

echo "=== $(date -Iseconds) === Starting backfill run ==="

exec 200>"$LOCK_FILE"
if ! flock -n 200; then
    echo "Another backfill run is in progress, skipping."
    exit 0
fi

cd "$PIPELINE_DIR"
"${PIPELINE_DIR}/.venv/bin/python3" vm_backfill.py

echo "=== $(date -Iseconds) === Backfill run finished ==="
