APIレート制限

Hey all,
I’ve come across several (somewhat-old) articles on this forum that outline API rate limits (ex: Global rate limits and throttling in Discourse). I’m interested in this because, during the customization of our site, we’re making several API calls related to users and topics, and I’d like to ensure we keep the calls to a minimum.

Are these settings still configurable via the Admin panel? I haven’t come across anything thus far that relates to the Discourse API rate limits.

If not, is there a way to monitor the request activity somewhere?

Thank you in advance!

「いいね!」 2

These API rate limit settings are not configured via the admin panel, but you will add them to the app.yml file on the server where your discourse site is hosted. So you will have to ssh into your server to make the change if you are self hosted.

「いいね!」 3

@blake 返信ありがとうございます!私のチームは実際にDiscourseをホスティングに使用する予定なので、独自の構成ファイルは一切ありません。この方法を選択した場合、API制限を表示または調整する手段はありますか?

:+1:

エンタープライズをご利用の場合、APIの使用負荷を軽減するために、これらの制限の一部を調整したり、APIに関するガイダンスを提供したりすることができます。

推奨事項としては、API呼び出しを行っているアプリで429エラーを処理し、受信したRetry-Afterヘッダーを確認することです。これにより、いつからリクエストの送信を開始できるかがわかります。

@blake 情報ありがとうございます!私のチームは、Discourse によって定義されている現在の標準レート制限で問題ないと思われます。これらの制限について教えていただけますか?これまでのところ、決定的なリストを見つけることができませんでした。

はい、プロ/ビジネスプランのデフォルトの制限はここに記載されています。

@blake 再度、情報ありがとうございます!これは少し関連していますが、テーマ/コンポーネントレベルでシリアライザーのカスタマイズを追加するタイムラインはありますか?過去1年間、このフォーラムでその機能について時々言及されているのを見ましたが、まだ実装されていないことは承知しています。

これは、現在、トピックリストでトピックごとにユーザーデータを取得しており、プラットフォームのユーザーが増えるにつれて増加する可能性があるためです。ユーザーモデルの特定のデータを特定のシリアライザーに追加することで、現在行っているAPI呼び出しを削減できる可能性があります。

そのようなタイムラインは、私の知る限りありません。

ただし、このようなカスタムデータリクエストには、data-explorer プラグインを使用することをお勧めします。独自のカスタム SQL クエリを作成して保存し、ID を取得できます。その後、保存されたクエリに API 呼び出しを行うと、それが実行され、単一のリクエストで目的の JSON が返されます。