Merge branch 'master' into crispheaney/order-subscriber

This commit is contained in:
Chris Heaney
2023-11-28 21:27:13 -05:00
2 changed files with 12 additions and 23 deletions

View File

@@ -134,11 +134,10 @@ const handleHealthCheck = async (req, res, next) => {
if (lastHealthCheckState) {
res.writeHead(200);
res.end('OK');
} else {
res.writeHead(500);
res.end(`NOK`);
lastHealthCheckPerformed = Date.now();
return;
}
return;
// always check if last check was unhealthy (give it another chance to recover)
}
const { lastSlotReceived, lastSlotReceivedMutex } = getSlotHealthCheckInfo();
@@ -149,7 +148,9 @@ const handleHealthCheck = async (req, res, next) => {
lastHealthCheckState = lastSlotReceived > lastHealthCheckSlot;
if (!lastHealthCheckState) {
logger.error(
`Unhealthy: lastSlot: ${lastSlotReceived}, lastHealthCheckSlot: ${lastHealthCheckSlot}`
`Unhealthy: lastSlot: ${lastSlotReceived}, lastHealthCheckSlot: ${lastHealthCheckSlot}, timeSinceLastCheck: ${
Date.now() - lastHealthCheckPerformed
} ms`
);
}

View File

@@ -21,8 +21,8 @@ import {
SlotSource,
SlotSubscriber,
UserMap,
UserStatsMap,
Wallet,
getUserStatsAccountPublicKey,
getVariant,
groupL2,
initialize,
@@ -275,8 +275,6 @@ const main = async () => {
lastSlotReceived = slotSource.getSlot();
}, ORDERBOOK_UPDATE_INTERVAL);
const userStatsMap = new UserStatsMap(driftClient);
logger.info(`Initializing DLOB Provider...`);
const initUserMapStart = Date.now();
await dlobProvider.subscribe();
@@ -285,12 +283,6 @@ const main = async () => {
);
logger.info(`dlob provider size ${dlobProvider.size()}`);
const initUserStatsMapStarts = Date.now();
await userStatsMap.sync(dlobProvider.getUniqueAuthorities());
logger.info(
`userStatsMap initialized in ${Date.now() - initUserStatsMapStarts} ms`
);
logger.info(`Initializing DLOBSubscriber...`);
const initDlobSubscriberStart = Date.now();
const dlobSubscriber = new DLOBSubscriber({
@@ -307,11 +299,7 @@ const main = async () => {
MARKET_SUBSCRIBERS = await initializeAllMarketSubscribers(driftClient);
const handleStartup = async (_req, res, _next) => {
if (
driftClient.isSubscribed &&
dlobProvider.size() > 0 &&
userStatsMap.size() > 0
) {
if (driftClient.isSubscribed && dlobProvider.size() > 0) {
res.writeHead(200);
res.end('OK');
} else {
@@ -594,12 +582,12 @@ const main = async () => {
const userAccount = dlobProvider.getUserAccount(
side.userAccount
);
const userStats = await userStatsMap.mustGet(
userAccount.authority.toBase58()
);
topMakers.add([
userAccount,
userStats.userStatsAccountPublicKey.toBase58(),
getUserStatsAccountPublicKey(
driftClient.program.programId,
userAccount.authority
),
]);
} else {
topMakers.add(side.userAccount.toBase58());