From 67d40ac7441cef709fb227ce8dc47331862c16ca Mon Sep 17 00:00:00 2001 From: Artem Date: Tue, 2 Jan 2024 15:13:57 +0100 Subject: [PATCH] Fix: receiver retry --- cmd/indexer/indexer/receiver.go | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/cmd/indexer/indexer/receiver.go b/cmd/indexer/indexer/receiver.go index 42ae02c03..c4eeb009f 100644 --- a/cmd/indexer/indexer/receiver.go +++ b/cmd/indexer/indexer/receiver.go @@ -93,14 +93,18 @@ func (r *Receiver) get(ctx context.Context, level int64) (Block, error) { } func (r *Receiver) job(ctx context.Context, level int64) { - block, err := r.get(ctx, level) - if err != nil { - if !errors.Is(err, context.Canceled) { - log.Err(err).Int64("block", level).Msg("Receiver.get") - r.pool.AddTask(level) + for { + block, err := r.get(ctx, level) + if err == nil { + r.blocks <- &block + r.inProcess.Delete(level) + break } - return + + if errors.Is(err, context.Canceled) { + return + } + + log.Err(err).Int64("block", level).Msg("Receiver.get") } - r.blocks <- &block - r.inProcess.Delete(level) }