diff options
| author | Adam Soltys <[email protected]> | 2024-08-23 23:39:05 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2024-08-23 23:39:05 -0700 |
| commit | 193457c5bd6c7c892c3be50674579dabd07fd2f2 (patch) | |
| tree | 82792280db6ea9945643a76112a210d904d49239 /lib/rates.js | |
| parent | 7be5db4d1dae7226a48623f42aca864adfa54e02 (diff) | |
| download | coinos-server-193457c5bd6c7c892c3be50674579dabd07fd2f2.tar.gz coinos-server-193457c5bd6c7c892c3be50674579dabd07fd2f2.zip | |
use redis to store rates
Diffstat (limited to 'lib/rates.js')
| -rw-r--r-- | lib/rates.js | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/lib/rates.js b/lib/rates.js index 1172d202..fe942453 100644 --- a/lib/rates.js +++ b/lib/rates.js @@ -17,12 +17,16 @@ let connect = async () => { ws.onmessage = async function (event) { try { let msg = JSON.parse(event.data); + let rates = await g("rates"); + let fx = await g("fx"); + if (fx) ({ fx } = fx); - Object.keys(store.fx).map((symbol) => { - store.rates[symbol] = msg.c * store.fx[symbol]; + Object.keys(fx).map((symbol) => { + rates[symbol] = msg.c * fx[symbol]; }); - store.last = msg.c; + s("rate", msg.c); + s("rates", rates); last = Date.now(); } catch (e) { console.log(e); @@ -37,13 +41,12 @@ let connect = async () => { return ws; }; -export let getRates = async () => { +export let getFx = async () => { connect(); let date = 0, - fx = {}; - let rates = await g("rates"); - if (rates) ({ date, fx } = rates); + fx = await g("fx"); + if (fx) ({ date, fx } = fx); if (Date.now() - date > 24 * 60 * 60 * 1000) { date = Date.now(); @@ -58,13 +61,11 @@ export let getRates = async () => { fx[k] = fx[k] / USD; }); - await s("rates", { date, fx }); + await s("fx", { date, fx }); } catch (e) { err("error fetching rates", e.message); } } - store.fx = fx; - - setTimeout(getRates, 30000); + setTimeout(getFx, 30000); }; |
