diff --git a/service/dealpusher/dealpusher.go b/service/dealpusher/dealpusher.go index 4d9df5f4b..5d2e1e7e5 100644 --- a/service/dealpusher/dealpusher.go +++ b/service/dealpusher/dealpusher.go @@ -2,6 +2,7 @@ package dealpusher import ( "context" + "strings" "sync" "time" @@ -376,7 +377,11 @@ func (d *DealPusher) runSchedule(ctx context.Context, schedule *model.Schedule) }) if err != nil { Logger.Errorw("failed to send deal", "error", err, "provider", schedule.Provider) + if strings.Contains(err.Error(), "deal proposal is identical") { + return nil + } } + return errors.WithStack(err) }, retry.Attempts(d.sendDealAttempts), retry.Delay(time.Second), retry.DelayType(retry.FixedDelay), retry.Context(ctx)) @@ -384,6 +389,9 @@ func (d *DealPusher) runSchedule(ctx context.Context, schedule *model.Schedule) return "", errors.Wrap(err, "failed to send deal") } + if dealModel == nil { + continue + } dealModel.ScheduleID = &schedule.ID Logger.Debugw("save accepted deal", "deal", dealModel)