#!/usr/bin/env bash
# JV トンネルが開くまで待ち、2020〜当年の正規取得を開始する。
#
#   nohup ./scripts/jv_wait_tunnel_and_fetch_raw.sh >> logs/jv_wait_fetch.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_fetch_2020_to_now.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

export JV_BACKFILL_FROM_YEAR="${JV_BACKFILL_FROM_YEAR:-2020}"
export JV_BACKFILL_TO_YEAR="${JV_BACKFILL_TO_YEAR:-2026}"
export JV_FROM_DATETIME="${JV_FROM_DATETIME:-20200101}"
bash "${ROOT}/scripts/jv_fetch_2020_to_now.sh" >>"$LOG" 2>&1
log "=== wait+fetch finished ==="
