Files
Stock-trading-programming/scripts/run_midday.ps1
T
whdwo798 bbcb935bf3 공휴일 스케줄러 스킵 추가 — holidays 라이브러리 활용
- scripts/_is_trading_day.py 신규: 한국 공휴일+대체공휴일 판단 (exit 0=거래일, 1=휴장)
  * holidays.SouthKorea() 기반, 제헌절(7/17) 오탐 제외 처리
- run_morning/midday/evening/bot.ps1: 스크립트 상단에 공휴일 체크 추가
  * 휴장일이면 로그 기록 후 즉시 종료 (Claude/봇 미실행)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-26 14:55:12 +09:00

34 lines
1.3 KiB
PowerShell

# claude_midday 실행 스크립트
# 작업 스케줄러에서 11:20에 실행 (평일)
chcp 65001 | Out-Null # 콘솔 코드페이지 UTF-8 (외부 프로세스 출력 디코딩)
$OutputEncoding = [System.Text.Encoding]::UTF8
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$env:PYTHONUTF8 = "1"
$env:PYTHONIOENCODING = "utf-8"
$PROJECT = Split-Path -Parent $PSScriptRoot
$LOG = "$PROJECT\logs\midday.log"
$CLAUDE = "C:\Users\whdwo\AppData\Roaming\npm\claude.cmd"
$PYTHON = "C:\Users\whdwo\.pyenv\pyenv-win\versions\3.11.9\python.exe"
$utf8 = New-Object System.Text.UTF8Encoding $false
Set-Location $PROJECT
# 공휴일 체크 — 휴장일이면 스킵
$holiday_result = & $PYTHON "scripts\_is_trading_day.py" 2>&1
if ($LASTEXITCODE -ne 0) {
$ts = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
[System.IO.File]::AppendAllText($LOG, "[$ts] 휴장일 — 스킵 ($holiday_result)`n", $utf8)
exit
}
$timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
[System.IO.File]::AppendAllText($LOG, "[$timestamp] claude_midday 시작`n", $utf8)
& $CLAUDE -p "/midday" --dangerously-skip-permissions 2>&1 |
ForEach-Object { [System.IO.File]::AppendAllText($LOG, "$_`n", $utf8) }
$timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
[System.IO.File]::AppendAllText($LOG, "[$timestamp] claude_midday 완료`n", $utf8)