From 830248b6aec321f23f651f9fd8edc7d9212c2ddc Mon Sep 17 00:00:00 2001 From: Nazar Kanaev Date: Thu, 10 Feb 2022 22:14:37 +0000 Subject: [PATCH] store feed size --- src/server/routes.go | 6 +++++- src/worker/worker.go | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/server/routes.go b/src/server/routes.go index 66f85a2..c2ba861 100644 --- a/src/server/routes.go +++ b/src/server/routes.go @@ -219,7 +219,11 @@ func (s *Server) handleFeedList(c *router.Context) { result.FeedLink, form.FolderID, ) - s.db.CreateItems(worker.ConvertItems(result.Feed.Items, *feed)) + items := worker.ConvertItems(result.Feed.Items, *feed) + if len(items) > 0 { + s.db.CreateItems(items) + s.db.SetFeedSize(feed.Id, len(items)) + } s.worker.FindFeedFavicon(*feed) c.JSON(http.StatusOK, map[string]interface{}{ diff --git a/src/worker/worker.go b/src/worker/worker.go index 08f7c82..bdf066e 100644 --- a/src/worker/worker.go +++ b/src/worker/worker.go @@ -121,7 +121,11 @@ func (w *Worker) refresher(feeds []storage.Feed) { srcqueue <- feed } for i := 0; i < len(feeds); i++ { - w.db.CreateItems(<-dstqueue) + items := <-dstqueue + if len(items) > 0 { + w.db.CreateItems(items) + w.db.SetFeedSize(items[0].FeedId, len(items)) + } atomic.AddInt32(w.pending, -1) w.db.SyncSearch() }