restructuring crawler architecture

This commit is contained in:
2025-01-20 08:58:49 +01:00
parent 9104bc7716
commit 47299d6ef3
13 changed files with 408 additions and 330 deletions

View File

@@ -4,10 +4,10 @@ import (
"crowsnest/internal/app"
"crowsnest/internal/crawler"
"crowsnest/internal/middleware"
"crowsnest/internal/model"
"crowsnest/internal/model/database"
"log"
"net/http"
"time"
_ "github.com/lib/pq"
)
@@ -19,16 +19,16 @@ func main() {
}
// run web crawlers
coll := crawler.Crawler{
Articles: &database.ArticleModel{DB: db},
}
go func() {
for {
coll.ZeitCollectIndex()
coll.SpiegelCollectIndex()
time.Sleep(5 * time.Minute)
}
}()
articles := &database.ArticleModel{DB: db}
crawler := crawler.CrawlerFacade{}
crawler.Init()
crawler.SubscribeToSpiegelFeed(func(a *model.Article) {
articles.Insert(a)
})
crawler.SubscribeToZeitFeed(func(a *model.Article) {
articles.Insert(a)
})
// define app
webapp := app.NewApp(db)