Merge pull request #3982 from mempool/mononaut/faster-mempoll

Fix mempool update poll delay
This commit is contained in:
softsimon 2023-07-17 18:59:07 +09:00 committed by GitHub
commit 08ad81f4b5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

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++;