work on qm

This commit is contained in:
Boki 2025-06-29 10:00:29 -04:00
parent 6082a54d14
commit 5640444c47
9 changed files with 492 additions and 476 deletions

View file

@ -30,6 +30,7 @@ export async function updatePrices(
input: {
symbol: string;
symbolId: number;
qmSearchCode: string;
},
_context?: ExecutionContext
): Promise<{
@ -38,7 +39,7 @@ export async function updatePrices(
message: string;
data?: any;
}> {
const { symbol, symbolId } = input;
const { symbol, symbolId, qmSearchCode } = input;
this.logger.info('Fetching daily prices', { symbol, symbolId });
@ -106,7 +107,7 @@ export async function updatePrices(
// Update symbol to track last price update
const tracker = await getOperationTracker(this);
await tracker.updateSymbolOperation(symbol, 'price_update', {
await tracker.updateSymbolOperation(qmSearchCode, 'price_update', {
status: 'success',
lastRecordDate: latestDate,
recordCount: priceData.length
@ -149,7 +150,7 @@ export async function updatePrices(
// Track failure
const tracker = await getOperationTracker(this);
await tracker.updateSymbolOperation(symbol, 'price_update', {
await tracker.updateSymbolOperation(qmSearchCode, 'price_update', {
status: 'failure'
});
@ -201,9 +202,9 @@ export async function schedulePriceUpdates(
// Get full symbol data to include symbolId
const symbolDocs = await this.mongodb.find('qmSymbols', {
symbol: { $in: staleSymbols }
qmSearchCode: { $in: staleSymbols }
}, {
projection: { symbol: 1, symbolId: 1 }
projection: { symbol: 1, symbolId: 1, qmSearchCode: 1 }
});
let queued = 0;
@ -219,7 +220,8 @@ export async function schedulePriceUpdates(
await this.scheduleOperation('update-prices', {
symbol: doc.symbol,
symbolId: doc.symbolId
symbolId: doc.symbolId,
qmSearchCode: doc.qmSearchCode
}, {
priority: 7, // High priority for price data
delay: queued * 500 // 0.5 seconds between jobs