From f8db8c86368f44afda1139f947d6d5dfc095f04e Mon Sep 17 00:00:00 2001 From: Maksym Pavlenko Date: Sun, 7 Apr 2019 22:07:38 -0700 Subject: [PATCH] Use cache for error feeds to reduce spamming --- pkg/builders/lambda.go | 2 +- pkg/feeds/feeds.go | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/pkg/builders/lambda.go b/pkg/builders/lambda.go index e5c873c..634b27f 100644 --- a/pkg/builders/lambda.go +++ b/pkg/builders/lambda.go @@ -69,7 +69,7 @@ func (l *Lambda) Build(feed *model.Feed) error { } if out.ErrorMessage != "" { - return errors.Errorf("lambda error: %s", out.ErrorMessage) + return errors.New(out.ErrorMessage) } feed.LastID = out.LastID diff --git a/pkg/feeds/feeds.go b/pkg/feeds/feeds.go index ed5be21..2495fc4 100644 --- a/pkg/feeds/feeds.go +++ b/pkg/feeds/feeds.go @@ -175,6 +175,10 @@ func (s *Service) BuildFeed(hashID string) ([]byte, error) { if err := builder.Build(feed); err != nil { logger.WithError(err).Error("failed to build feed") + + // Save error to cache to avoid spamming + _ = s.cache.Set(hashID, err.Error(), 10 * time.Minute) + return nil, err }