From 4b3dba42184fd87186b63cb6c509f5ce17f34024 Mon Sep 17 00:00:00 2001 From: Maksym Pavlenko Date: Sat, 6 Apr 2019 12:54:09 -0700 Subject: [PATCH] Write feed only if updated --- pkg/feeds/feeds.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/pkg/feeds/feeds.go b/pkg/feeds/feeds.go index 54aa9fe..db2e9fe 100644 --- a/pkg/feeds/feeds.go +++ b/pkg/feeds/feeds.go @@ -157,14 +157,18 @@ func (s *Service) BuildFeed(hashID string) ([]byte, error) { log.Infof("building new feed %q", hashID) + oldLastID := feed.LastID + if err := builder.Build(feed); err != nil { log.WithError(err).WithField("feed_id", hashID).Error("failed to build feed") return nil, err } - if err := s.storage.UpdateFeed(feed); err != nil { - log.WithError(err).WithField("feed_id", hashID).Error("failed to save feed") - return nil, err + if oldLastID != feed.LastID { + if err := s.storage.UpdateFeed(feed); err != nil { + log.WithError(err).WithField("feed_id", hashID).Error("failed to save feed") + return nil, err + } } podcast, err := s.buildPodcast(feed)