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
23 lines
749 B
JavaScript
23 lines
749 B
JavaScript
import { createPostgresPool } from './src/lib/postgres.mjs';
|
|
import { refreshQuoteOutcomes } from './src/lib/postgres.mjs';
|
|
|
|
const pool = createPostgresPool({ connectionString: process.env.POSTGRES_URL });
|
|
|
|
async function main() {
|
|
console.log("Starting debug run...");
|
|
try {
|
|
const records = await refreshQuoteOutcomes(pool, {
|
|
btcAsset: { assetId: 'nep141:nbtc.bridge.near' },
|
|
eureAsset: { assetId: 'nep141:eure.omft.near' }
|
|
});
|
|
console.log("Returned records:", records.length);
|
|
let completed = 0;
|
|
for (const r of records) {
|
|
if (r.outcome_status === 'completed') completed++;
|
|
}
|
|
console.log("Completed outcomes:", completed);
|
|
} catch(e) { console.error("Error:", e); }
|
|
process.exit(0);
|
|
}
|
|
|
|
main();
|