Skip to content

Commit 433f363

Browse files
committed
Retry 5 times at 15min intervals to kick off discover hodler events queue if the jsonrpcprovider can't return current block
1 parent a1681bc commit 433f363

1 file changed

Lines changed: 17 additions & 3 deletions

File tree

src/events/rewards-discovery.service.ts

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -399,11 +399,17 @@ export class RewardsDiscoveryService implements OnApplicationBootstrap {
399399

400400
public async enqueueDiscoverHodlerEventsFlow(
401401
opts: {
402-
delayJob?: number
402+
delayJob: number
403403
skipActiveCheck?: boolean
404+
jsonRpcRetryCount?: number
405+
jsonRpcMaxRetries?: number
406+
jsonRpcSleepMs?: number
404407
} = {
405408
delayJob: RewardsDiscoveryService.DEFAULT_DELAY,
406-
skipActiveCheck: false
409+
skipActiveCheck: false,
410+
jsonRpcRetryCount: 0,
411+
jsonRpcMaxRetries: 5,
412+
jsonRpcSleepMs: 15_000 * 60 // 15 minutes
407413
}
408414
) {
409415
this.logger.log(
@@ -436,7 +442,15 @@ export class RewardsDiscoveryService implements OnApplicationBootstrap {
436442
'Failed to get current block number',
437443
error.stack
438444
)
439-
return
445+
this.logger.warn(
446+
`Retrying enqueueDiscoverHodlerEventsFlow after delay of ${opts.jsonRpcSleepMs}ms`
447+
)
448+
return await new Promise(resolve => setTimeout(resolve, opts.jsonRpcSleepMs)).then(() => {
449+
return this.enqueueDiscoverHodlerEventsFlow({
450+
...opts,
451+
jsonRpcRetryCount: (opts.jsonRpcRetryCount || 0) + 1
452+
})
453+
})
440454
}
441455
this.logger.log(
442456
`Queueing discover hodler events flow with ` +

0 commit comments

Comments
 (0)