2025-12-29 03:06:49 +08:00
|
|
|
"""
|
2026-04-06 16:47:36 +07:00
|
|
|
data source module
|
|
|
|
|
Support K-line data acquisition for multiple markets
|
2026-02-05 00:25:38 +08:00
|
|
|
|
2026-04-06 16:47:36 +07:00
|
|
|
Improved version (refer to daily_stock_analysis project):
|
|
|
|
|
- Fuse protection (circuit_breaker)
|
|
|
|
|
- Data cache (cache_manager)
|
|
|
|
|
- Anti-ban strategy (rate_limiter)
|
2025-12-29 03:06:49 +08:00
|
|
|
"""
|
2026-04-09 14:30:51 +07:00
|
|
|
|
|
|
|
|
from app.data_sources.cache_manager import DataCache, get_kline_cache, get_realtime_cache, get_stock_info_cache
|
|
|
|
|
from app.data_sources.circuit_breaker import CircuitBreaker, get_realtime_circuit_breaker
|
2025-12-29 03:06:49 +08:00
|
|
|
from app.data_sources.factory import DataSourceFactory
|
2026-04-09 14:30:51 +07:00
|
|
|
from app.data_sources.rate_limiter import RateLimiter, get_random_user_agent, random_sleep, retry_with_backoff
|
2025-12-29 03:06:49 +08:00
|
|
|
|
2026-02-05 00:25:38 +08:00
|
|
|
__all__ = [
|
2026-04-06 16:47:36 +07:00
|
|
|
# factory
|
2026-04-09 14:30:51 +07:00
|
|
|
"DataSourceFactory",
|
2026-04-06 16:47:36 +07:00
|
|
|
# fuse
|
2026-04-09 14:30:51 +07:00
|
|
|
"CircuitBreaker",
|
|
|
|
|
"get_realtime_circuit_breaker",
|
2026-04-06 16:47:36 +07:00
|
|
|
# cache
|
2026-04-09 14:30:51 +07:00
|
|
|
"DataCache",
|
|
|
|
|
"get_realtime_cache",
|
|
|
|
|
"get_kline_cache",
|
|
|
|
|
"get_stock_info_cache",
|
2026-04-06 16:47:36 +07:00
|
|
|
# current limiter
|
2026-04-09 14:30:51 +07:00
|
|
|
"RateLimiter",
|
|
|
|
|
"get_random_user_agent",
|
|
|
|
|
"random_sleep",
|
|
|
|
|
"retry_with_backoff",
|
2026-02-05 00:25:38 +08:00
|
|
|
]
|