feat(vol_breakout): 15m 현물 롱 라이브·모니터·cron 운영 추가
vol_breakout 멀티종목 tick, vol_live HTML 모니터, 마감 봉만 저장하는 캔들 다운로드, 텔레그램 체결 알림, cron/watch 감시 스크립트 및 테스트를 포함한다. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
55
scripts/3_run_vol_monitor_serve.sh
Executable file
55
scripts/3_run_vol_monitor_serve.sh
Executable file
@@ -0,0 +1,55 @@
|
||||
#!/usr/bin/env bash
|
||||
# vol_live 모니터 HTTP 서버 (포트 기본 8766 — Binance 8765와 분리)
|
||||
set -euo pipefail
|
||||
# shellcheck source=scripts/_cron_env.sh
|
||||
source "$(dirname "$0")/_cron_env.sh"
|
||||
|
||||
PIDFILE="${CRON_PROJECT_ROOT}/data/spot/operations/vol_monitor.pid"
|
||||
PORT="${VOL_MONITOR_PORT:-8766}"
|
||||
export VOL_MONITOR_PORT="$PORT"
|
||||
|
||||
if [ "${1:-}" = "--stop" ]; then
|
||||
if [ -f "$PIDFILE" ]; then
|
||||
pid="$(cat "$PIDFILE")"
|
||||
if kill -0 "$pid" 2>/dev/null; then
|
||||
kill "$pid"
|
||||
echo "stopped pid $pid"
|
||||
fi
|
||||
rm -f "$PIDFILE"
|
||||
else
|
||||
echo "pid file 없음"
|
||||
fi
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ -f "$PIDFILE" ]; then
|
||||
old_pid="$(cat "$PIDFILE")"
|
||||
if kill -0 "$old_pid" 2>/dev/null; then
|
||||
if lsof -iTCP:"$PORT" -sTCP:LISTEN -p "$old_pid" >/dev/null 2>&1; then
|
||||
echo "이미 실행 중: pid $old_pid → http://127.0.0.1:${PORT}/vol_live_monitor.html"
|
||||
exit 0
|
||||
fi
|
||||
kill "$old_pid" 2>/dev/null || true
|
||||
fi
|
||||
rm -f "$PIDFILE"
|
||||
fi
|
||||
|
||||
ensure_cron_log_dir "data/spot/operations"
|
||||
LOG="${CRON_PROJECT_ROOT}/data/spot/operations/vol_monitor_serve.log"
|
||||
PYTHON="$(resolve_bithumb_python)" || exit 1
|
||||
|
||||
nohup "$PYTHON" "${CRON_PROJECT_ROOT}/scripts/3_run_vol_monitor.py" --serve-only >> "$LOG" 2>&1 &
|
||||
pid=$!
|
||||
disown "$pid" 2>/dev/null || true
|
||||
echo "$pid" > "$PIDFILE"
|
||||
sleep 2
|
||||
|
||||
if curl -sf -o /dev/null "http://127.0.0.1:${PORT}/vol_live_monitor.html"; then
|
||||
echo "모니터 시작: http://127.0.0.1:${PORT}/vol_live_monitor.html"
|
||||
echo "로그: $LOG"
|
||||
echo "종료: bash scripts/3_run_vol_monitor_serve.sh --stop"
|
||||
else
|
||||
echo "서버 기동 실패 — 로그 확인: $LOG" >&2
|
||||
tail -20 "$LOG" 2>/dev/null || true
|
||||
exit 1
|
||||
fi
|
||||
Reference in New Issue
Block a user