# 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 # 주문 최대 재시도 횟수