Last update
This commit is contained in:
parent
08afa6452f
commit
565c2ffe26
4 changed files with 6 additions and 11 deletions
7
index.js
7
index.js
|
|
@ -1,4 +1,3 @@
|
|||
import fs from "node:fs";
|
||||
import { parseArgs } from "node:util";
|
||||
import { prefetchRates } from "./src/api.js";
|
||||
import { Bot } from "./src/bot.js";
|
||||
|
|
@ -46,7 +45,7 @@ const interval = parseInt(values.interval, 10);
|
|||
const threshold = parseFloat(values.threshold);
|
||||
|
||||
if (isNaN(interval) || interval < 100) {
|
||||
logger.error("Interval must be a number larger than 100ms");
|
||||
logger.error("Interval must be a number larger than 100");
|
||||
process.exit(1);
|
||||
}
|
||||
if (pairs.length === 0 || pairs.some((p) => !p.match(/^[A-Z]+-?[A-Z]+$/))) {
|
||||
|
|
@ -70,12 +69,10 @@ async function main() {
|
|||
try {
|
||||
await prefetchRates(pairs);
|
||||
} catch (err) {
|
||||
logger.error(err, "Critical failure during cache warming");
|
||||
logger.error(err, "Critical failure during cache population");
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
fs.promises.writeFile("/tmp/healthy", "ok");
|
||||
|
||||
const handleAlert = async (alertData) => {
|
||||
await insertIntoDB(alertData);
|
||||
};
|
||||
|
|
|
|||
|
|
@ -50,11 +50,10 @@ export async function fetchRate(pair) {
|
|||
}
|
||||
|
||||
export async function prefetchRates(pairs) {
|
||||
logger.info({ pairs }, "Verifying pairs...");
|
||||
const results = await Promise.allSettled(pairs.map((p) => fetchRate(p)));
|
||||
|
||||
const failed = results.filter((r) => r.status === "rejected");
|
||||
if (failed.length > 0) {
|
||||
logger.warn(`[API] ${failed.length} pairs failed initial check.`);
|
||||
logger.warn(`[API] ${failed.length} pairs failed initial check`);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ export function getPool() {
|
|||
});
|
||||
|
||||
pool.on("error", (err) => {
|
||||
logger.error(err, "[DB] Unexpected error on idle client", err);
|
||||
logger.error(err, "[DB] Unexpected error on client", err);
|
||||
});
|
||||
|
||||
return pool;
|
||||
|
|
@ -59,7 +59,7 @@ export async function initDB() {
|
|||
try {
|
||||
client = await currentPool.connect();
|
||||
await client.query(CREATE_TABLE_QUERY);
|
||||
logger.info("[DB] Database initialized and connected.");
|
||||
logger.info("[DB] Database initialized and connected");
|
||||
return;
|
||||
} catch (err) {
|
||||
if (i === maxRetries - 1) {
|
||||
|
|
@ -106,7 +106,7 @@ export async function insertIntoDB(data) {
|
|||
await getPool().query(query, values);
|
||||
logger.info(`[DB] Event saved for ${data.pair}`);
|
||||
} catch (err) {
|
||||
logger.error(`[DB] Failed to save alert: ${err.message}`);
|
||||
logger.error(`[DB] Failed to save alert ${err.message}`);
|
||||
throw err;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -128,7 +128,6 @@ describe("API", () => {
|
|||
vi.resetModules();
|
||||
nock.cleanAll();
|
||||
|
||||
// Import the actual module for these tests
|
||||
vi.doMock("../src/api.js", async () => {
|
||||
return await vi.importActual("../src/api.js");
|
||||
});
|
||||
|
|
|
|||
Loading…
Reference in a new issue