가져오기 후 인기 주제 작동 안 함

수입(import) 후 또는 주제 내 링크 카운터 변경 후 사용자 프로필의 모든 "Top Topics"를 다시 계산할 수 있는 방법이 있나요?

이상하게도 "Top Replies"는 정상적으로 작동하고 있습니다.

통계는 24시간마다 자동으로 계산된다고 생각합니다. 기다리기만 하면 됩니다.

그렇지는 않은 것 같습니다. 몇 주 전부터 가져오기 테스트를 진행해 왔는데, 일부는 자동 수정되었고 일부는 그렇지 않았습니다. 'Top Topics’가 그 대표적인 예시입니다. 'Amount Links in topics’도 마찬가지입니다. 그 외에는 사이트 전체에서 정확히 작동하는 것으로 보입니다.

음, 코드를 살펴보면 두 개의 잡이 있습니다 — TopRefreshToday (매시간 실행)와 TopRefreshOlder (24시간마다 실행). 두 잡 모두 여기의 메서드를 호출하며, 필요할 경우 Rails 콘솔에서 수동으로 실행할 수 있어야 합니다.

/sidekiq/scheduler를 확인하여 두 잡이 실행되고 있는지 살펴봐 주시겠습니까?

최상위 토픽을 계산하는 데 필요한 관련 정보가 모두 가져오기(import)와 함께 이전되어 왔다고 가정하고 있습니다.

이 경우 해당 작업들은 정상적으로 실행되고 있습니다. 문제는 topics 테이블의 like_count 필드에 값이 채워져 있지 않은 것 같습니다. 이 필드의 값을 다시 계산하는 좋은 방법이 있나요, 아니면 이 작업은 가져오기(import) 단계에서 수행해야 하나요? 가져오기 단계에서 수행해야 한다면, 이 계산은 어떻게 이루어져야 하나요? 해당 토픽에 있는 모든 게시물의 좋아요 수를 합산한 값인가요?

Rails 콘솔을 사용하여 이 필드를 다시 계산하는 방법을 찾았습니다:

Topic.visible.map(&:update_statistics)

이 해결책의 문제는 우리의 토픽 및 게시물 수를 고려할 때, 이 명령이 완료되기까지 약 두 달이 걸릴 것으로 추정된다는 점입니다.

like_count를 update_action_counts 메서드를 사용하여 다시 생성할 수 있는 것으로 보입니다:

따라서 다음과 같은 코드가 될 수 있습니다:

Topic.all.find_each do |t|
  putc '.'
  t.update_action_counts
end

@Ghan과 저에게는 정말 잘 작동한 것 같습니다. 정말 감사합니다 :slight_smile: