この操作をあまりにも多く行ったエラー

I get the below error quite a few times.

{"errors":["You’ve performed this action too many times. Please wait a few seconds before trying again."],"error_type":"rate_limit","extras":{"wait_seconds":0}}

How do I eliminate this error. Please suggest.

「いいね!」 1

Go look in settings > Rate Limit. Change the values as you please

Hi @IAmGav,

I have made,

  1. rate limit create topic = 0 (After creating a topic, users must wait (n) seconds before creating another topic.)
  2. rate limit create post = 0 (After posting, users must wait (n) seconds before creating another post.)
  3. rate limit new user create topic = 0 (After creating a topic, new users must wait (n) seconds before creating another topic.)
  4. rate limit new user create post = 0 (After posting, new users must wait (n) seconds before creating another post.)

But, still the error is persistent. Are there any other limits I need to look at.

「いいね!」 1

I have disabled all the settings mentioned in:

But, still I get the “You Have Performed this Action Too Many Times” error.
Is there something else I have to do?

So what are you exactly doing what causes this error?

I am trying to create Topics using API. While trying to create like 100 topics through API, it is throwing me this error.
I am also trying to Update Tags to my Topics through API, there are 100s of Topics in my forum which do not have tags. So I am updating tags to them through API.

So what are the values of

DISCOURSE_MAX_USER_API_REQS_PER_MINUTE
DISCOURSE_MAX_USER_API_REQS_PER_DAY
DISCOURSE_MAX_ADMIN_API_REQS_PER_KEY_PER_MINUTE

and are you sure you’re staying below those numbers?

「いいね!」 2

こんにちは :wave:
私も同様の問題に直面していますが、読み取りアクションで発生しています。

Discourse と連携するインテグレーションを構築しており、API を使用して多くの投稿を読み取っています。書き込み操作は一切行わず、読み取りのみです。最新の投稿を取得するために、以下の手順を実行しています。

  1. /latest.json エンドポイントを使用して最新のトピックを取得します。
  2. /t/:id を介してすべてのトピックを順番に取得し、投稿のストリームを取得してページネーションできるようにします。
  3. そのトピックに 20 件を超える投稿がある場合は、「stream」から ID を取得し、サイズ 20 のチャンクで順番に取得します。

また、すべてのリクエストをキューに入れ、10 秒あたり約 25 件を超えるリクエストを送信しないようにしていますが、それでもトピックまたは投稿の読み取りリクエストで「このアクションを何度も実行しました」というエラーが頻繁に表示されます。Discourse の設定を確認しましたが、読み取りに関する制限は見つかりませんでした。「トピックの作成」やその他の書き込み操作に関する制限のみ確認できます。

これについて何かできることはありますか?どんなヒントでもありがとうございます。古いトピックを持ち出してすみません。

「いいね!」 1

Looks like I’m hitting the max_admin_api_reqs_per_minute limit. Can it be customized? Can’t see it in Settings > Rate limits

EDIT: actually looks like two limits kick in there. admin_api_key_rate_limit and ip_10_secs_limit

「いいね!」 1

?print=true を追加すると、読み込み時の API 呼び出し回数を減らすのに役立つかどうか興味があります。

これにより、1 回の API 呼び出しで 1000 件の投稿を取得できるようになります。

?print にはさらに厳しいレート制限があると思っていました。

しかし、?print=true の使用ではなく、他の何かが原因のようです。必ず試してみます。

しかし、理解したところによると、これは 20 件以上の投稿があるトピックにしか役立たないようです。私たちのトピックのほとんどはそれより少ないと思うので、実際のボトルネックはトピックへのリクエストが多すぎることです。

「いいね!」 1

はい、それはユーザーを制限するためです。管理者のAPIキーがあれば、その設定はあなたには影響しません。

ああ、はい、その可能性が非常に高いですね。

429エラーをチェックして指定された量だけ遅くする以外にも、いくつかの選択肢があります。

まず、データエクスプローラープラグインを使用して、探しているすべてのトピックを取得するクエリを記述することをお勧めします。最大1000件の結果が返されると思います。その後、APIを使用してクエリを呼び出し、応答を取得できます。

ユースケースによっては、Webhooksも役立つ場合があります。新しいトピックや投稿ごとに設定し、最新のコンテンツをすべてリッスンするだけです。

それでもAPIレート制限を引き上げる必要があると判断した場合は、エンタープライズプランをご利用のサイトでのみ対応可能です。共有のプロ/ビジネスホスティングには適用されません。

Discourse のデータエクスプローラープラグインを使用する際の問題は、Discourse の統合機能のユーザーが私たちだけではないことです。私たち (fibery.io) は、お客様が Discourse インスタンスを統合できるようにしており、それによってデータを私たちのツールにシームレスに同期させることができます。

Webhook は良い追加機能ですが、最初の同期 (例えば、先月分のトピックや投稿など、最も負荷の高い同期) の際には役立ちません。その後は新しいデータの定期的な同期を行いますが、それは問題になりません。

429 をチェックして再試行することはうまくいきますが、時には遅くなることがあります。

ご検討いただきありがとうございます :bow:

「いいね!」 1