integrated data-ingestion

This commit is contained in:
Boki 2025-06-21 19:42:20 -04:00
parent 9673ae70ef
commit 3227388d25
15 changed files with 226 additions and 133 deletions

View file

@ -3,9 +3,9 @@
*/
import { HttpClient, ProxyInfo } from '@stock-bot/http';
import { OperationContext } from '@stock-bot/di';
import { getLogger } from '@stock-bot/logger';
import { PROXY_CONFIG } from '../shared/config';
import { ProxyStatsManager } from '../shared/proxy-manager';
import type { ProxySource } from '../shared/types';
// Shared HTTP client
@ -19,10 +19,11 @@ function getHttpClient(ctx: OperationContext): HttpClient {
}
export async function fetchProxiesFromSources(): Promise<ProxyInfo[]> {
const ctx = OperationContext.create('proxy', 'fetch-sources');
const ctx = {
logger: getLogger('proxy-fetch')
} as any;
const statsManager = ProxyStatsManager.getInstance();
statsManager.resetStats();
ctx.logger.info('Starting proxy fetch from sources');
const fetchPromises = PROXY_CONFIG.PROXY_SOURCES.map(source => fetchProxiesFromSource(source, ctx));
const results = await Promise.all(fetchPromises);