수입(import) 후 또는 주제 내 링크 카운터 변경 후 사용자 프로필의 모든 "Top Topics"를 다시 계산할 수 있는 방법이 있나요?
이상하게도 "Top Replies"는 정상적으로 작동하고 있습니다.
수입(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과 저에게는 정말 잘 작동한 것 같습니다. 정말 감사합니다 ![]()