From f7b0c4a427bb2a4dc0b4d5e470122df943e4418c Mon Sep 17 00:00:00 2001 From: Alessio Date: Sun, 2 Feb 2025 20:23:55 -0800 Subject: [PATCH] Add background scraping jobs for Bookmarks and logged-in user's User Feed --- internal/webserver/stopwatch.go | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/internal/webserver/stopwatch.go b/internal/webserver/stopwatch.go index d95ca2c..9700674 100644 --- a/internal/webserver/stopwatch.go +++ b/internal/webserver/stopwatch.go @@ -148,4 +148,34 @@ func (app *Application) start_background() { app: app, } notifications_task.StartBackground() + + bookmarks_task := BackgroundTask{ + Name: "bookmarks", + GetTroveFunc: func(api *scraper.API) scraper.TweetTrove { + trove, err := app.API.GetBookmarks(10) + if err != nil && !errors.Is(err, scraper.END_OF_FEED) && !errors.Is(err, scraper.ErrRateLimited) { + panic(err) + } + return trove + }, + StartDelay: 5 * time.Second, + Period: 10 * time.Minute, + app: app, + } + bookmarks_task.StartBackground() + + own_profile_task := BackgroundTask{ + Name: "user profile", + GetTroveFunc: func(api *scraper.API) scraper.TweetTrove { + trove, err := app.API.GetUserFeed(api.UserID, 1) + if err != nil && !errors.Is(err, scraper.END_OF_FEED) && !errors.Is(err, scraper.ErrRateLimited) { + panic(err) + } + return trove + }, + StartDelay: 1 * time.Second, + Period: 20 * time.Minute, + app: app, + } + own_profile_task.StartBackground() }