#!/usr/bin/env bash
# トンネル待ち → jv_backfill_years.sh（setup取得＋正規化＋materialize）
#
#   nohup ./scripts/jv_wait_tunnel_and_backfill.sh >> logs/jv_wait_backfill.nohup.log 2>&1 &
#
set -euo pipefail

ROOT="$(cd "$(dirname "$0")/.." && pwd)"
# shellcheck source=/dev/null
source "${ROOT}/scripts/jv_load_env.sh"
cd "$ROOT"

LOG_DIR="${ROOT}/logs"
mkdir -p "$LOG_DIR"
STAMP="$(TZ=Asia/Tokyo date +%Y%m%d_%H%M%S)"
LOG="${LOG_DIR}/jv_wait_tunnel.${STAMP}.log"
INTERVAL="${JV_TUNNEL_WAIT_SEC:-60}"

log() {
  echo "[$(TZ=Asia/Tokyo date '+%F %T')] $*" | tee -a "$LOG"
}

log "=== wait tunnel → jv_backfill_years.sh ==="

while true; do
  PY=(python3.11)
  command -v "${PY[0]}" &>/dev/null || PY=(python3)
  if "${PY[@]}" scripts/jv_link_tcp_healthcheck.py >>"$LOG" 2>&1; then
    log "tunnel OK"
    break
  fi
  log "tunnel not ready — retry ${INTERVAL}s (Windows: step01_start_tunnel.bat)"
  sleep "$INTERVAL"
done

bash "${ROOT}/scripts/jv_backfill_years.sh" >>"$LOG" 2>&1
log "=== wait+backfill finished ==="
