56 lines
2.7 KiB
Python
56 lines
2.7 KiB
Python
# src/constants.py
|
|
"""프로젝트 전역 상수 정의.
|
|
|
|
Magic Number를 제거하고 의미를 명확히 하기 위한 상수 모음입니다.
|
|
"""
|
|
|
|
# ============================================================================
|
|
# Telegram 관련 상수
|
|
# ============================================================================
|
|
TELEGRAM_RATE_LIMIT_DELAY = 0.5 # 메시지 간 대기 시간 (초)
|
|
TELEGRAM_MAX_MESSAGE_LENGTH = 4000 # Telegram API 제한 (실제 4096, 안전 마진)
|
|
TELEGRAM_REQUEST_TIMEOUT = 20 # Telegram API 요청 타임아웃 (초)
|
|
|
|
# ============================================================================
|
|
# Retry 관련 상수
|
|
# ============================================================================
|
|
DEFAULT_RETRY_COUNT = 3 # 기본 재시도 횟수
|
|
DEFAULT_RETRY_BACKOFF = 0.2 # 재시도 백오프 초기값 (초)
|
|
MAX_RETRY_BACKOFF = 2.0 # 최대 백오프 시간 (초)
|
|
BALANCE_RETRY_BACKOFF = 0.2 # 잔고 조회 재시도 백오프 (초)
|
|
ORDER_RETRY_DELAY = 1.0 # 주문 재시도 간 대기 (초)
|
|
|
|
# ============================================================================
|
|
# Cache TTL 관련 상수
|
|
# ============================================================================
|
|
OHLCV_CACHE_TTL = 300 # OHLCV 데이터 캐시 TTL (5분)
|
|
PRICE_CACHE_TTL = 2.0 # 현재가 캐시 TTL (2초)
|
|
BALANCE_CACHE_TTL = 2.0 # 잔고 캐시 TTL (2초)
|
|
|
|
# ============================================================================
|
|
# Order 관련 상수
|
|
# ============================================================================
|
|
ORDER_MONITOR_INITIAL_DELAY = 1.0 # 주문 모니터링 초기 대기 (초)
|
|
ORDER_MONITOR_MAX_DELAY = 5.0 # 주문 모니터링 최대 대기 (초)
|
|
|
|
# ============================================================================
|
|
# File 관련 상수
|
|
# ============================================================================
|
|
PENDING_ORDER_TTL = 86400 # Pending Order TTL (24시간, 초)
|
|
|
|
# ============================================================================
|
|
# ThreadPool 관련 상수
|
|
# ============================================================================
|
|
THREADPOOL_MAX_WORKERS_CAP = 8 # ThreadPoolExecutor 상한 (확장 가능하도록 상수화)
|
|
|
|
# ============================================================================
|
|
# Log Rotation 관련 상수
|
|
# ============================================================================
|
|
LOG_MAX_BYTES = 10 * 1024 * 1024 # 10MB per file
|
|
LOG_BACKUP_COUNT = 7 # 최대 7개 백업 파일 유지
|
|
|
|
# ============================================================================
|
|
# Order 관련 추가 상수
|
|
# ============================================================================
|
|
ORDER_MAX_RETRIES = 3 # 주문 최대 재시도 횟수
|