mirror of
https://github.com/truewhile/MeBox.git
synced 2026-10-08 22:36:37 +08:00
refactor: split subscription site search completion
This commit is contained in:
@@ -62,12 +62,21 @@ func (s *SubscriptionService) runSiteSearch(ctx context.Context, sub *model.Subs
|
|||||||
Availability: availability,
|
Availability: availability,
|
||||||
}
|
}
|
||||||
queueResult := s.enqueueSiteSearchCandidates(ctx, sub, candidates, runState)
|
queueResult := s.enqueueSiteSearchCandidates(ctx, sub, candidates, runState)
|
||||||
availability = s.finalizePendingAvailability(sub, runState.Availability)
|
availability = s.finishSiteSearchRun(ctx, sub, guidKey, runState)
|
||||||
seen = trimSiteSearchSeen(runState.Seen)
|
return s.handleSiteSearchQueueResult(sub, keyword, queueResult, selectionStats, availability)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *SubscriptionService) finishSiteSearchRun(ctx context.Context, sub *model.Subscription, guidKey string, state *siteSearchRunState) LocalAvailability {
|
||||||
|
availability := s.finalizePendingAvailability(sub, state.Availability)
|
||||||
|
seen := trimSiteSearchSeen(state.Seen)
|
||||||
_ = s.repo.Setting.Set(ctx, guidKey, strings.Join(seen, "\n"))
|
_ = s.repo.Setting.Set(ctx, guidKey, strings.Join(seen, "\n"))
|
||||||
now := time.Now()
|
now := time.Now()
|
||||||
_ = s.repo.DB.Model(sub).Updates(map[string]any{"last_run_at": &now}).Error
|
_ = s.repo.DB.Model(sub).Updates(map[string]any{"last_run_at": &now}).Error
|
||||||
_ = s.archiveCompletedSubscription(ctx, sub, availability)
|
_ = s.archiveCompletedSubscription(ctx, sub, availability)
|
||||||
|
return availability
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *SubscriptionService) handleSiteSearchQueueResult(sub *model.Subscription, keyword string, queueResult siteSearchQueueResult, selectionStats siteSearchSelectionStats, availability LocalAvailability) (int, error) {
|
||||||
if queueResult.Queued > 0 {
|
if queueResult.Queued > 0 {
|
||||||
s.hub.Publish("subscription", map[string]any{
|
s.hub.Publish("subscription", map[string]any{
|
||||||
"id": sub.ID,
|
"id": sub.ID,
|
||||||
|
|||||||
Reference in New Issue
Block a user