work on eod

This commit is contained in:
Boki 2025-07-06 23:42:43 -04:00
parent 8f65c19d46
commit 5ca8fafe7e
10 changed files with 271 additions and 49 deletions

View file

@ -61,7 +61,15 @@ export async function scheduleIntradayCrawl(
return { success: true, jobsScheduled: 0 };
}
logger.info(`Found ${symbols.length} symbols needing intraday data`);
logger.info(`Found ${symbols.length} symbols needing intraday data`, {
count: symbols.length,
samples: symbols.slice(0, 5).map(s => ({
symbol: s.Code,
exchange: s.Exchange,
name: s.Name,
intradayState: s.intradayState
}))
});
let jobsScheduled = 0;
const intervals: Array<'1m' | '5m' | '1h'> = ['1m', '5m', '1h'];
@ -111,7 +119,7 @@ export async function crawlIntraday(
const { symbol, exchange, interval } = input;
try {
logger.info('Starting intraday crawl', { symbol, exchange, interval });
logger.info(`Starting intraday crawl for ${symbol}.${exchange} - ${interval}`);
// Get current crawl state
const symbolDoc = await this.mongodb.collection('eodSymbols').findOne({
@ -172,11 +180,11 @@ export async function crawlIntraday(
// Check if we're finished (no data returned means we've reached the end)
if (result.recordsSaved === 0) {
newState.finished = true;
logger.info('Intraday crawl finished - no more data', {
symbol,
exchange,
interval,
totalRecords: newState.totalRecordsProcessed
logger.info(`Intraday crawl finished for ${symbol}.${exchange} - ${interval}`, {
totalRecords: newState.totalRecordsProcessed,
oldestDate: newState.oldestDateReached,
newestDate: newState.newestDateReached,
batches: newState.totalBatchesProcessed
});
}
@ -233,12 +241,9 @@ export async function fetchIntraday(
const { symbol, exchange, interval, fromDate, toDate } = input;
try {
logger.info('Fetching intraday data', {
symbol,
exchange,
interval,
from: fromDate?.toISOString(),
to: toDate?.toISOString()
logger.info(`Fetching intraday data for ${symbol}.${exchange} - ${interval}`, {
from: fromDate?.toISOString().split('T')[0],
to: toDate?.toISOString().split('T')[0]
});
// Get API key
@ -280,7 +285,7 @@ export async function fetchIntraday(
return { success: true, recordsSaved: 0 };
}
logger.info(`Fetched ${data.length} intraday records`, { symbol, exchange, interval });
logger.info(`Fetched ${data.length} intraday records for ${symbol}.${exchange} - ${interval}`);
// Add metadata to each record
const recordsWithMetadata = data.map(bar => ({