07.4.3.16 — Production Execution Pricing Layer
This commit is contained in:
@@ -9,6 +9,7 @@ from typing import Callable
|
||||
from aiogram import Bot
|
||||
from aiogram.exceptions import TelegramBadRequest, TelegramRetryAfter
|
||||
|
||||
from src.integrations.exchange.market_data_runner import MarketDataRunner
|
||||
from src.trading.debug.service import DebugTradeService
|
||||
|
||||
|
||||
@@ -24,6 +25,8 @@ class DebugTradeRunner:
|
||||
_current_screen: str | None = None
|
||||
|
||||
_interval_seconds = 5
|
||||
_market_interval_seconds = 1
|
||||
|
||||
_last_text: str | None = None
|
||||
_last_refresh_at: float = 0.0
|
||||
_retry_after_until: float = 0.0
|
||||
@@ -77,9 +80,21 @@ class DebugTradeRunner:
|
||||
|
||||
@classmethod
|
||||
def start(cls) -> None:
|
||||
state = DebugTradeService().get_state()
|
||||
service = DebugTradeService()
|
||||
state = service.get_state()
|
||||
state.status = "RUNNING"
|
||||
|
||||
MarketDataRunner.start(
|
||||
symbol_provider=lambda: DebugTradeService().get_state().symbol,
|
||||
interval_seconds=cls._market_interval_seconds,
|
||||
runtime_key="debug_auto",
|
||||
screen="debug_auto",
|
||||
action="market_data",
|
||||
runtime_label="[DEBUG]",
|
||||
)
|
||||
|
||||
cls._last_text = None
|
||||
|
||||
if cls._task is not None and not cls._task.done():
|
||||
return
|
||||
|
||||
@@ -87,6 +102,8 @@ class DebugTradeRunner:
|
||||
|
||||
@classmethod
|
||||
def stop(cls) -> None:
|
||||
MarketDataRunner.stop("debug_auto")
|
||||
|
||||
if cls._task is None:
|
||||
return
|
||||
|
||||
@@ -102,6 +119,7 @@ class DebugTradeRunner:
|
||||
|
||||
if state.status == "OFF":
|
||||
cls._task = None
|
||||
MarketDataRunner.stop("debug_auto")
|
||||
break
|
||||
|
||||
service.process()
|
||||
|
||||
Reference in New Issue
Block a user