ckdev
(Chris Kennedy)
1
こんにちは。
フォーラムで面白い返答をするために Discourse API を使おうとしています。例えば、誰かがスレッドで「Linux」と言うと、Discobot が「GNU/Linux のことですか?」と返答するようにしたいのです。
これは機能しますが、誰かが同じフレーズで返信すると、2分間(ほぼ正確に2分間)429エラーや空の応答が大量に発生し、その後 API が通常どおり応答を処理できるようになります。
例:
Linux
FOSS
dotNET
Java
Linux
これは正しく機能します。しかし:
Linux
FOSS
dotNET
Linux
Linux
これは壊れます。
この2分間のウィンドウが何に関連しているか、何か考えはありますか? app.yml の設定を変更したり、API のレート制限を調整したりしましたが、効果はないようです。
ありがとうございます!
Falco
(Falco)
2
詳細情報が必要です。429エラーが発生しているAPIエンドポイントは何ですか?
「いいね!」 1
ckdev
(Chris Kennedy)
3
https://forum.domain.net/t/1000/highestPost.json
それに対するGETリクエスト
highestPost はスレッドの highest_post_number です
Falco
(Falco)
4
これは、レート制限されていることを意味します。新しい投稿を追跡し続けたい場合、そのようなポーリングは非常に非効率的です。Webフックの使用を提案できますか?そうすれば、何も起こっていないときでもポーリングするのではなく、新しい投稿に反応できます。
ckdev
(Chris Kennedy)
5
はい、ウェブフックを調べてみましょう。
レスポンスのレート制限を無効にする方法をご存知ですか?アプリの app.yml でいくつか変更したと思いますが、このリンクの API に関連するものはすべて変更しました。
これは Nginx で探求する必要がある特定の何かですか?
Falco
(Falco)
6
デフォルトで追加されるNginxテンプレートがあります。それはapp.ymlの最初の数行のいずれかになります。レート制限に関するものを削除して再構築すると、それが有効になる場合があります。
「いいね!」 3
ckdev
(Chris Kennedy)
7
w00t。試してみます。ご協力ありがとうございました!
system
(system)
クローズされました:
8
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.