♻️ Save news article to db seprately
This commit is contained in:
parent
fbbe72bd54
commit
2a58d185eb
@ -31,7 +31,7 @@ func ScanNewsSourcesNoEager() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func ScanNewsSources(eager ...bool) {
|
func ScanNewsSources(eager ...bool) {
|
||||||
var results []models.NewsArticle
|
count := 0
|
||||||
for _, src := range NewsSources {
|
for _, src := range NewsSources {
|
||||||
if !src.Enabled {
|
if !src.Enabled {
|
||||||
continue
|
continue
|
||||||
@ -42,18 +42,19 @@ func ScanNewsSources(eager ...bool) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
log.Warn().Err(err).Str("source", src.ID).Msg("Failed to scan a news source.")
|
log.Warn().Err(err).Str("source", src.ID).Msg("Failed to scan a news source.")
|
||||||
}
|
}
|
||||||
results = append(results, result...)
|
|
||||||
log.Info().Str("source", src.ID).Int("count", len(result)).Msg("Scanned a news sources.")
|
|
||||||
}
|
|
||||||
log.Info().Int("count", len(results)).Msg("Scanned all news sources.")
|
|
||||||
|
|
||||||
results = lo.UniqBy(results, func(item models.NewsArticle) string {
|
result = lo.UniqBy(result, func(item models.NewsArticle) string {
|
||||||
return item.Hash
|
return item.Hash
|
||||||
})
|
})
|
||||||
|
|
||||||
database.C.Clauses(clause.OnConflict{
|
database.C.Clauses(clause.OnConflict{
|
||||||
UpdateAll: true,
|
UpdateAll: true,
|
||||||
}).Create(&results)
|
}).Create(&result)
|
||||||
|
|
||||||
|
log.Info().Str("source", src.ID).Int("count", len(result)).Msg("Scanned a news sources.")
|
||||||
|
count += len(result)
|
||||||
|
}
|
||||||
|
|
||||||
|
log.Info().Int("count", count).Msg("Scanned all news sources.")
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewsSourceRead(src models.NewsSource, eager ...bool) ([]models.NewsArticle, error) {
|
func NewsSourceRead(src models.NewsSource, eager ...bool) ([]models.NewsArticle, error) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user