@@ -13,7 +13,6 @@ logger = get_logger(__name__)
|
||||
# Global singletons (avoid duplicate strategy threads).
|
||||
_trading_executor = None
|
||||
_pending_order_worker = None
|
||||
_reflection_worker = None
|
||||
|
||||
|
||||
def get_trading_executor():
|
||||
@@ -34,15 +33,6 @@ def get_pending_order_worker():
|
||||
return _pending_order_worker
|
||||
|
||||
|
||||
def get_reflection_worker():
|
||||
"""Get the reflection verification worker singleton."""
|
||||
global _reflection_worker
|
||||
if _reflection_worker is None:
|
||||
from app.services.agents.reflection_worker import ReflectionWorker
|
||||
_reflection_worker = ReflectionWorker()
|
||||
return _reflection_worker
|
||||
|
||||
|
||||
def start_portfolio_monitor():
|
||||
"""Start the portfolio monitor service if enabled.
|
||||
|
||||
@@ -67,30 +57,6 @@ def start_portfolio_monitor():
|
||||
logger.error(f"Failed to start portfolio monitor: {e}")
|
||||
|
||||
|
||||
def start_reflection_worker():
|
||||
"""
|
||||
Start the reflection worker if enabled.
|
||||
|
||||
To enable it, set ENABLE_REFLECTION_WORKER=true.
|
||||
"""
|
||||
import os
|
||||
enabled = os.getenv("ENABLE_REFLECTION_WORKER", "false").lower() == "true"
|
||||
if not enabled:
|
||||
logger.info("Reflection worker is disabled. Set ENABLE_REFLECTION_WORKER=true to enable.")
|
||||
return
|
||||
|
||||
# Avoid running twice with Flask reloader
|
||||
debug = os.getenv("PYTHON_API_DEBUG", "false").lower() == "true"
|
||||
if debug:
|
||||
if os.environ.get("WERKZEUG_RUN_MAIN") != "true":
|
||||
return
|
||||
|
||||
try:
|
||||
get_reflection_worker().start()
|
||||
except Exception as e:
|
||||
logger.error(f"Failed to start reflection worker: {e}")
|
||||
|
||||
|
||||
def start_pending_order_worker():
|
||||
"""Start the pending order worker (disabled by default in paper mode).
|
||||
|
||||
@@ -244,8 +210,7 @@ def create_app(config_name='default'):
|
||||
'/api/indicator/getIndicators', # Search indicators
|
||||
'/api/market/klines', # Fetch K-lines (sometimes POST)
|
||||
'/api/ai/chat', # AI Chat (generates response, doesn't mutate system state)
|
||||
'/api/analysis/indicator', # Analysis request
|
||||
'/api/analysis/ai_analysis' # AI Analysis request
|
||||
'/api/fast-analysis/analyze', # Fast AI Analysis request
|
||||
]
|
||||
|
||||
# Check if current path ends with any whitelist item
|
||||
@@ -265,7 +230,6 @@ def create_app(config_name='default'):
|
||||
# Startup hooks.
|
||||
with app.app_context():
|
||||
start_pending_order_worker()
|
||||
start_reflection_worker()
|
||||
start_portfolio_monitor()
|
||||
restore_running_strategies()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user