feat: DB WAL 모드 적용, .env.example 정리 (#210, #213, #216)
Some checks failed
CI / test (pull_request) Has been cancelled
Some checks failed
CI / test (pull_request) Has been cancelled
- #210: init_db()에 WAL 저널 모드 적용 (파일 DB에만, :memory: 제외) - 대시보드(READ)와 거래루프(WRITE) 동시 접근 시 SQLite 락 오류 방지 - busy_timeout=5000ms 설정 - #213: RATE_LIMIT_RPS 기본값 2.0으로 통일 (.env.example이 5.0으로 잘못 표기됨) - #216: .env.example 중요 변수 추가 및 정리 - KIS_BASE_URL 모의/실전 URL 주석 명시 (포트 29443 수정 포함) - MODE, TRADE_MODE, ENABLED_MARKETS, PAPER_OVERSEAS_CASH 추가 - GEMINI_MODEL 업데이트 (gemini-pro → gemini-2.0-flash-exp) - DASHBOARD 설정 섹션 추가 테스트 2개 추가 (WAL 파일 DB 적용, 메모리 DB 미적용 검증) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -14,6 +14,11 @@ def init_db(db_path: str) -> sqlite3.Connection:
|
||||
if db_path != ":memory:":
|
||||
Path(db_path).parent.mkdir(parents=True, exist_ok=True)
|
||||
conn = sqlite3.connect(db_path)
|
||||
# Enable WAL mode for concurrent read/write (dashboard + trading loop).
|
||||
# WAL does not apply to in-memory databases.
|
||||
if db_path != ":memory:":
|
||||
conn.execute("PRAGMA journal_mode=WAL")
|
||||
conn.execute("PRAGMA busy_timeout=5000")
|
||||
conn.execute(
|
||||
"""
|
||||
CREATE TABLE IF NOT EXISTS trades (
|
||||
|
||||
Reference in New Issue
Block a user