lstuartfry
(Lukas Stuart-Fry)
1
みなさん、こんにちは。
このフォーラムには、API のレート制限について説明している(やや古い)記事がいくつかあります(例:https://meta.discourse.org/t/global-rate-limits-and-throttling-in-discourse/78612)。当サイトのカスタマイズを進める中で、ユーザーやトピックに関連する API 呼び出しを複数行っているため、呼び出し回数を最小限に抑えたいと考えており、この件に関心を持っています。
これらの設定は現在でも管理パネルから変更可能でしょうか?Discourse API のレート制限に関する情報は、これまで見当たりませんでした。
もし変更できない場合、どこかでリクエストのアクティビティを監視する方法はありますか?
よろしくお願いいたします。
「いいね!」 2
blake
(Blake Erickson)
2
これらの API レート制限の設定は管理パネルからは行わず、Discourse サイトがホストされているサーバーの app.yml ファイルに追加します。そのため、セルフホストされている場合は変更を行うためにサーバーに SSH で接続する必要があります。
「いいね!」 3
lstuartfry
(Lukas Stuart-Fry)
3
@blake 返信ありがとうございます!私のチームは実際にDiscourseをホスティングに使用する予定なので、独自の構成ファイルは一切ありません。この方法を選択した場合、API制限を表示または調整する手段はありますか?
blake
(Blake Erickson)
4

エンタープライズをご利用の場合、APIの使用負荷を軽減するために、これらの制限の一部を調整したり、APIに関するガイダンスを提供したりすることができます。
推奨事項としては、API呼び出しを行っているアプリで429エラーを処理し、受信したRetry-Afterヘッダーを確認することです。これにより、いつからリクエストの送信を開始できるかがわかります。
lstuartfry
(Lukas Stuart-Fry)
5
@blake 情報ありがとうございます!私のチームは、Discourse によって定義されている現在の標準レート制限で問題ないと思われます。これらの制限について教えていただけますか?これまでのところ、決定的なリストを見つけることができませんでした。
blake
(Blake Erickson)
6
はい、プロ/ビジネスプランのデフォルトの制限はここに記載されています。
lstuartfry
(Lukas Stuart-Fry)
7
@blake 再度、情報ありがとうございます!これは少し関連していますが、テーマ/コンポーネントレベルでシリアライザーのカスタマイズを追加するタイムラインはありますか?過去1年間、このフォーラムでその機能について時々言及されているのを見ましたが、まだ実装されていないことは承知しています。
これは、現在、トピックリストでトピックごとにユーザーデータを取得しており、プラットフォームのユーザーが増えるにつれて増加する可能性があるためです。ユーザーモデルの特定のデータを特定のシリアライザーに追加することで、現在行っているAPI呼び出しを削減できる可能性があります。
blake
(Blake Erickson)
8
そのようなタイムラインは、私の知る限りありません。
ただし、このようなカスタムデータリクエストには、data-explorer プラグインを使用することをお勧めします。独自のカスタム SQL クエリを作成して保存し、ID を取得できます。その後、保存されたクエリに API 呼び出しを行うと、それが実行され、単一のリクエストで目的の JSON が返されます。