aboutsummaryrefslogtreecommitdiffstats
path: root/lib/rates.js
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2024-08-23 23:39:05 -0700
committerAdam Soltys <[email protected]>2024-08-23 23:39:05 -0700
commit193457c5bd6c7c892c3be50674579dabd07fd2f2 (patch)
tree82792280db6ea9945643a76112a210d904d49239 /lib/rates.js
parent7be5db4d1dae7226a48623f42aca864adfa54e02 (diff)
downloadcoinos-server-193457c5bd6c7c892c3be50674579dabd07fd2f2.tar.gz
coinos-server-193457c5bd6c7c892c3be50674579dabd07fd2f2.zip
use redis to store rates
Diffstat (limited to 'lib/rates.js')
-rw-r--r--lib/rates.js23
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);
};