Implement enhanced data collection system with health monitoring and management

- Introduced `BaseDataCollector` and `CollectorManager` classes for standardized data collection and centralized management.
- Added health monitoring features, including auto-restart capabilities and detailed status reporting for collectors.
- Updated `env.template` to include new logging and health check configurations.
- Enhanced documentation in `docs/data_collectors.md` to provide comprehensive guidance on the new data collection system.
- Added unit tests for `BaseDataCollector` and `CollectorManager` to ensure reliability and functionality.
This commit is contained in:
Vasily.onl
2025-05-30 20:33:56 +08:00
parent b7263b023f
commit 4936e5cd73
13 changed files with 4036 additions and 1 deletions

View File

@@ -35,4 +35,15 @@ DEFAULT_VIRTUAL_BALANCE=10000
# Data Configuration
MARKET_DATA_SYMBOLS=BTC-USDT,ETH-USDT,LTC-USDT
HISTORICAL_DATA_DAYS=30
CHART_UPDATE_INTERVAL=2000 # milliseconds
CHART_UPDATE_INTERVAL=2000 # milliseconds
# Logging
VERBOSE_LOGGING = true
LOG_CLEANUP=true # Enable automatic log cleanup
LOG_MAX_FILES=30 # Maximum log files to retain
# Health monitoring
DEFAULT_HEALTH_CHECK_INTERVAL=30 # Default health check interval (seconds)
MAX_SILENCE_DURATION=300 # Max time without data (seconds)
MAX_RECONNECT_ATTEMPTS=5 # Maximum reconnection attempts
RECONNECT_DELAY=5 # Delay between reconnect attempts (seconds)