Post_created のデータが実際の投稿と一致しない

Ask Discourse がこの説明を提示しました。ユーザーサマリーを再生成する方法があることは知っていました。Ask Discourse の内容をそのままコピペするのは好みではありませんが、ご質問があったので…

ユーザーアクティビティとサマリーの再計算 AI

NateDhaliwal:

ユーザーのアクティビティとサマリーを再計算するにはどうすればいいですか?

DiscourseHelper:

思考プロセス

ユーザーは Discourse でユーザーのアクティビティとサマリーを再計算する方法について質問しています。この情報を探してみます。

検索中
検索クエリ: recalculate user activity and summaries (ユーザーアクティビティとサマリーの再計算)

検索結果にはアクティビティサマリーメールについての言及がありますが、ユーザーのアクティビティとサマリーを再計算する方法については直接答えられていません。これは管理サイトの設定や rake タスクに関するものと思われます。「recalculate」(再計算) をより具体的に検索し、また管理者機能であるユーザーサマリーページも確認してみます。

検索中
検索クエリ: recalculate user summaries activity admin rake task (ユーザーサマリー アクティビティ 管理 rake タスク 再計算)

「Configuring Activity Summary emails」(アクティビティサマリーメールの設定) というドキュメントトピック (36627) と、「User Summary Stats Out of Sync」(ユーザーサマリー統計の同期ずれ) というトピック (166124) を確認してみます。後者の方が再計算に関連しているようです。また、これに関連する管理ダッシュボードやサイト設定についても検索します。

読み込み中
読了: Configuring Activity Summary emails (アクティビティサマリーメールの設定)

検索中
検索クエリ: admin dashboard rebuild user summary stats recalculate update (管理ダッシュボード ユーザーサマリー統計 再構築 再計算 更新)

最も関連性の高いトピックを確認してみます:「User Summary Stats Out of Sync」(ユーザーサマリー統計の同期ずれ)、「How to re-calculate the top users stats?」(トップユーザー統計を再計算するには?)、「How to Reset Site Statistics or Recalculate?」(サイト統計のリセットまたは再計算方法は?)、そして「User stats wrong/not up to date」(ユーザー統計が誤っている/最新でない)。これらは関連していそうです。また、“top_recalculate” などのような管理サイト設定についても確認します。

読み込み中
読了: User Summary Stats Out of Sync (ユーザーサマリー統計の同期ずれ)

読み込み中
読了: How to re-calculate the top users stats? (トップユーザー統計を再計算するには?)

「User stats wrong/not up to date」(ユーザー統計が誤っている/最新でない) トピックと「How to Reset Site Statistics or Recalculate?」(サイト統計のリセットまたは再計算方法は?) トピックも、ユーザーのアクティビティとサマリーを再計算するためのより包括的な情報を得るために確認してみます。

読み込み中
読了: User stats wrong/not up to date (ユーザー統計が誤っている/最新でない)

読み込み中
読了: How to Reset Site Statistics or Recalculate? (サイト統計のリセットまたは再計算方法は?)

次に、ユーザーアクティビティの再計算に関連する特定のサイト設定や管理者オプションを検索します。また、「top_recalculate」や「update_all_with_api_call」、あるいは管理サイト設定に関するものも検索します。

検索中
検索クエリ: recalculate user stats top users directory items update rake task users (ユーザー統計 トップユーザー ディレクトリ項目 更新 rake タスク ユーザー 再計算)

次に、ユーザーアクティビティ統計の再計算に関連するサイト設定があるか確認します。また、「How to Reset Site Statistics」(サイト統計のリセット方法) トピックで言及されていた「Administrative bulk operations」(管理一括操作) トピックも見てみます。

検索中
検索クエリ: administrative bulk operations rake recalculate user stats (管理一括操作 rake ユーザー統計 再計算)

一括操作(統計の再計算を含む)のための rake コマンドが含まれている「Administrative Bulk Operations」(管理一括操作) トピックを読みます。

読み込み中
読了: Administrative Bulk Operations (管理一括操作)

これで十分な情報が集まりました。ユーザーはユーザーのアクティビティとサマリーを再計算する方法を尋ねています。調査の結果に基づくと:

  1. ユーザー統計(投稿数、トピック数など)は、Sidekiq ジョブによって毎日自動的に再計算されます。
  2. 手動で再計算をトリガーするには、rake タスク rake users:recalculate_post_counts を使用できます(「User Summary Stats Out of Sync」(ユーザーサマリー統計の同期ずれ) トピックから)。
  3. サイト統計(管理パネル)については、rake destroy:stats を使用してリセットでき、その後再計算されます。
  4. ディレクトリ項目(/users ページ)は、毎日の Sidekiq ジョブによって更新されます。ただし、ユーザーは管理者としてこの質問をしています。以下の点に注意してください:
  • ホスティング顧客はターミナルアクセスを持ちません。
  • 自動再計算は、スケジュールされた Sidekiq ジョブによって毎日行われます。

また、これに関連するサイト設定や管理パネルオプションがあるかも確認します。これに関連するサイト設定を検索します。

サイト設定を検索中
‘recalculate,summary,activity,stats’ (再計算、サマリー、アクティビティ、統計) に対して 51 件の結果が見つかりました

関連する可能性のある特定のトピックを検索します - 自動的に更新をトリガーしないアクションの後で、ユーザーサマリーとアクティビティを更新する方法についてです。「Why are stats not updated in real time?」(なぜ統計はリアルタイムでは更新されないのか?) トピックと「Rebuild User Actions」(ユーザーアクションの再構築) トピックを確認してみます。

読み込み中
読了: Rebuild User Actions (ユーザーアクションの再構築)

これで包括的な回答を行うための十分な情報が集まりました。また、top_topics のサイト設定と、管理ダッシュボードの目的での「recalculate」サイト設定の動作方法も確認してみます。しかし、回答に必要な情報は十分集まったと思います。

調査に基づくと:

  1. 自動再計算: ユーザーアクティビティ統計とサマリーは、スケジュールされた Sidekiq ジョブによって毎日自動的に再計算されます。これらのジョブは、“stats” (統計) で検索することで /sidekiq/scheduler で確認できます。

  2. 手動再計算 (SSH アクセスが必要 - セルフホストのみ):

    • rake users:recalculate_post_counts - 同期がずれたユーザーの投稿/トピック数を修正するために使用
    • rake destroy:stats - サイト全体の統計(管理パネルの統計)をリセットし、再計算させるために使用
    • UserStat.update_stats in rails console - 個別のユーザー統計のために使用
    • import:ensure_consistency - インポート後の問題のために使用
  3. ホスティング顧客の場合: これらの rake タスクを実行してもらうために support@discourse.org に連絡する必要があります。あるいは、毎日の自動再計算を待つこともできます。

回答を作成します。

Discourse におけるユーザーアクティビティ統計とサマリーは、スケジュールされた Sidekiq ジョブによって毎日自動的に再計算されます。これらのジョブが実行されたことを確認するには、/sidekiq/scheduler (セルフホストの場合) にアクセスして “stats” (統計) を検索してください — Jobs::DashboardStats、Jobs::AboutStats、および Jobs::CategoryStats などのジョブが表示されます。

統計が同期していないように見え、手動で再計算をトリガーする必要がある場合:

セルフホスト (SSH アクセスが必要)

まずコンテナに入ります (./launcher enter app)、次に:

  • ユーザーの投稿/トピック数の再計算:

    rake users:recalculate_post_counts
    
  • サイト全体の統計のリセット (管理パネル / /about ページ — その後自動で再計算されます):

    rake destroy:stats
    
  • 単一のユーザーの統計について (rails c を介して):

    UserStat.update_stats(user)
    
  • インポート後、次を実行します:

    rake import:ensure_consistency
    

ホスティング顧客

ターミナルアクセスを持っていないため、毎日の自動再計算で対応されるはずです。1日経っても統計が正しくない場合は、team@discourse.org に連絡し、これらのタスクを実行してもらうことができます。


注記: 「アクティビティサマリー」メール (ダイジェスト) は、ユーザーの最終訪問に基づいて送信時に新規生成されるため、別途の再計算は必要ありません。ユーザーが受信していない場合は、トラブルシューティング手順については Configuring Activity Summary emails を参照してください。

ソース: