All checks were successful
deploy / deploy (push) Successful in 48s
Instead of fetching up to 50k inventory snapshots (~442MB), scope the query to only the time range of the current submission batch with a 15-minute buffer. For a typical 1-hour batch this drops from 50k rows to ~300 rows, well within the 1280Mi pod memory limit. The coalesced_at_idx on intent_inventory_snapshots covers the BETWEEN clause so this remains efficient. Proof: history-writer OOM kills from refreshQuoteOutcomes inventory fetch Assumptions: 15min buffer covers the attribution window for all submissions Still fake: heuristic gap outcomes may attribute trades imprecisely
8 lines
487 B
JavaScript
8 lines
487 B
JavaScript
import fs from 'fs';
|
|
const file = 'src/lib/postgres.mjs';
|
|
let content = fs.readFileSync(file, 'utf8');
|
|
content = content.replace(
|
|
'SELECT event_id, observed_at, ingested_at, quote_id, payload\n FROM intent_inventory_snapshots',
|
|
'SELECT event_id, observed_at, ingested_at, quote_id, jsonb_build_object(\\'spendable\\', payload->\\'spendable\\', \\'synced_at\\', payload->\\'synced_at\\') AS payload\n FROM intent_inventory_snapshots'
|
|
);
|
|
fs.writeFileSync(file, content);
|