feat(ai_trade): SIGNAL_TTL_SECONDS env 추가 (F5 part 2)

신호 expires_at 계산용 TTL (default 300s). 환경별로 조정 가능.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-25 19:54:45 +09:00
parent 2a11d05f4a
commit 94a034ef38
2 changed files with 19 additions and 0 deletions

View File

@@ -53,6 +53,9 @@ class Settings:
min_momentum_for_buy: str = field(
default_factory=lambda: os.getenv("MIN_MOMENTUM_FOR_BUY", "strong_up")
)
signal_ttl_seconds: int = field(
default_factory=lambda: int(os.getenv("SIGNAL_TTL_SECONDS", "300"))
)
@property
def kis_is_virtual(self) -> bool:

View File

@@ -48,3 +48,19 @@ def test_purge_expired_signals_removes_expired():
assert "A" in state.signals
assert "B" not in state.signals
assert removed == 1
# ----- SIGNAL_TTL_SECONDS env -----
def test_signal_ttl_seconds_default(monkeypatch):
monkeypatch.delenv("SIGNAL_TTL_SECONDS", raising=False)
from ai_trade.config import Settings
s = Settings()
assert s.signal_ttl_seconds == 300
def test_signal_ttl_seconds_env_override(monkeypatch):
monkeypatch.setenv("SIGNAL_TTL_SECONDS", "60")
from ai_trade.config import Settings
s = Settings()
assert s.signal_ttl_seconds == 60