INNER CODE UNIT · JavaScript
trimmed
dearvn/tradovate-trading-bot · agents/market-data/index.js:183
const trimmed = bars.slice(-MAX_STORED_BARS);
await cache.redis.set(BARS_CACHE_KEY(symbol), JSON.stringify(trimmed), 'EX', BARS_TTL_SECONDS);
} else {
const raw = await cache.redis.get(BARS_CACHE_KEY(symbol));
let stored = raw ? JSON.parse(raw) : [];
for (const bar of bars) {
const idx = stored.findIndex(b => b.timestamp === bar.timestamp);
if (idx >= 0) {
stored[idx] = bar;
} else {
stored.push(bar);
if (stored.length > MAX_STORED_BARS) stored = stored.slice(-MAX_STORED_BARS);
}
}
await cache.redis.set(BARS_CACHE_KEY(symbol), JSON.stringify(stored), 'EX', BARS_TTL_SECONDS);
}
} catch (err) {
logger.error({ err, symbol }, 'Failed to store chart bars in Redis');