Fix mempool update poll delay

This commit is contained in:
Mononaut 2023-07-17 18:21:44 +09:00
parent 965270dc7f
commit 2c1b9b9095
No known key found for this signature in database
GPG Key ID: A3F058E41374C04E

View File

@ -169,6 +169,7 @@ class Server {
} }
async runMainUpdateLoop(): Promise<void> { async runMainUpdateLoop(): Promise<void> {
const start = Date.now();
try { try {
try { try {
await memPool.$updateMemPoolInfo(); await memPool.$updateMemPoolInfo();
@ -188,7 +189,9 @@ class Server {
indexer.$run(); indexer.$run();
// rerun immediately if we skipped the mempool update, otherwise wait POLL_RATE_MS // rerun immediately if we skipped the mempool update, otherwise wait POLL_RATE_MS
setTimeout(this.runMainUpdateLoop.bind(this), numHandledBlocks > 0 ? 1 : config.MEMPOOL.POLL_RATE_MS); const elapsed = Date.now() - start;
const remainingTime = Math.max(0, config.MEMPOOL.POLL_RATE_MS - elapsed)
setTimeout(this.runMainUpdateLoop.bind(this), numHandledBlocks > 0 ? 0 : remainingTime);
this.backendRetryCount = 0; this.backendRetryCount = 0;
} catch (e: any) { } catch (e: any) {
this.backendRetryCount++; this.backendRetryCount++;