fix pivot cache db
This commit is contained in:
@@ -140,21 +140,20 @@ class AnnotationDashboard:
|
||||
], className="container")
|
||||
])
|
||||
|
||||
# Initialize core components
|
||||
self.data_provider = DataProvider() if DataProvider else None
|
||||
# Initialize core components (skip initial load for fast startup)
|
||||
self.data_provider = DataProvider(skip_initial_load=True) if DataProvider else None
|
||||
|
||||
# Enable unified storage for real-time data access
|
||||
if self.data_provider:
|
||||
self._enable_unified_storage_async()
|
||||
|
||||
self.orchestrator = TradingOrchestrator(
|
||||
data_provider=self.data_provider
|
||||
) if TradingOrchestrator and self.data_provider else None
|
||||
# ANNOTATE doesn't need orchestrator - skip ML model loading for fast startup
|
||||
self.orchestrator = None
|
||||
|
||||
# Initialize ANNOTATE components
|
||||
self.annotation_manager = AnnotationManager()
|
||||
# Use REAL training adapter - NO SIMULATION!
|
||||
self.training_adapter = RealTrainingAdapter(self.orchestrator, self.data_provider)
|
||||
self.training_adapter = RealTrainingAdapter(None, self.data_provider)
|
||||
|
||||
# Initialize data loader with existing DataProvider
|
||||
self.data_loader = HistoricalDataLoader(self.data_provider) if self.data_provider else None
|
||||
@@ -206,56 +205,32 @@ class AnnotationDashboard:
|
||||
storage_thread.start()
|
||||
|
||||
def _start_background_data_refresh(self):
|
||||
"""Start background task to refresh recent data after startup"""
|
||||
"""Start background task to refresh recent data after startup - ONCE ONLY"""
|
||||
def refresh_recent_data():
|
||||
try:
|
||||
import time
|
||||
# Wait for app to fully start
|
||||
time.sleep(5)
|
||||
|
||||
logger.info("🔄 Starting background data refresh (fetching only recent missing data)")
|
||||
logger.info("🔄 Starting one-time background data refresh (fetching only recent missing data)")
|
||||
|
||||
# Disable startup mode to fetch fresh data
|
||||
self.data_loader.disable_startup_mode()
|
||||
|
||||
# Fetch only last 5 minutes of 1m data and 300 seconds of 1s data
|
||||
symbols = self.config.get('symbols', ['ETH/USDT', 'BTC/USDT'])
|
||||
# Use the new on-demand refresh method
|
||||
logger.info("Using on-demand refresh for recent data")
|
||||
self.data_provider.refresh_data_on_demand()
|
||||
|
||||
for symbol in symbols:
|
||||
try:
|
||||
# Fetch last 5 candles of 1m data (5 minutes)
|
||||
logger.info(f"Refreshing recent 1m data for {symbol}")
|
||||
self.data_provider.get_historical_data(
|
||||
symbol=symbol,
|
||||
timeframe='1m',
|
||||
limit=5,
|
||||
refresh=True
|
||||
)
|
||||
|
||||
# Fetch last 300 candles of 1s data (5 minutes)
|
||||
logger.info(f"Refreshing recent 1s data for {symbol}")
|
||||
self.data_provider.get_historical_data(
|
||||
symbol=symbol,
|
||||
timeframe='1s',
|
||||
limit=300,
|
||||
refresh=True
|
||||
)
|
||||
|
||||
logger.info(f"✅ Refreshed recent data for {symbol}")
|
||||
|
||||
except Exception as e:
|
||||
logger.warning(f"Could not refresh recent data for {symbol}: {e}")
|
||||
|
||||
logger.info("✅ Background data refresh completed")
|
||||
logger.info("✅ One-time background data refresh completed")
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"Error in background data refresh: {e}")
|
||||
|
||||
# Start in background thread
|
||||
# Start refresh in background thread
|
||||
import threading
|
||||
refresh_thread = threading.Thread(target=refresh_recent_data, daemon=True)
|
||||
refresh_thread.start()
|
||||
logger.info("📊 Background data refresh scheduled")
|
||||
logger.info("📊 One-time background data refresh scheduled")
|
||||
|
||||
def _get_pivot_markers_for_timeframe(self, symbol: str, timeframe: str, df: pd.DataFrame) -> dict:
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user