ckdev
(Chris Kennedy)
1
您好,
我正在尝试使用 Discourse API 在论坛中提供一些有趣的回复。例如,如果有人在帖子中说“Linux”,Discobot 会回复“您的意思是 GNU/Linux?”
它工作正常,除非有人用相同的短语回复,然后我会收到大量 429 或空白响应,持续两分钟(时间几乎正好是两分钟),之后 API 会恢复正常处理响应。
例如:
Linux
FOSS
dotNet
Java
Linux
这将正常工作。但是:
Linux
FOSS
dotNet
Linux
Linux
这将导致失败。
您知道这个两分钟窗口是关于什么的吗?我们已经尝试调整了 app.yml 设置并调整了 API 速率限制。似乎没有产生任何影响。
谢谢!
Falco
(Falco)
2
我们需要更多信息。您正在调用哪个 API 端点并收到 429 错误?
1 个赞
ckdev
(Chris Kennedy)
3
https://forum.domain.net/t/1000/highestPost.json
对此发出 GET 请求
其中 highestPost 是帖子的 highest_post_number
Falco
(Falco)
4
这意味着您正在受到速率限制。如果您想跟踪新帖子,轮询效率非常低下。我能建议使用 Webhook 吗?这样您就可以对新帖子做出反应,而不是在什么都没发生时进行轮询。
ckdev
(Chris Kennedy)
5
当然,我可以看看 webhook。
您知道如何禁用响应速率限制吗?我认为我们已经在 app.yml 中更改了一些设置,包括此链接中与 API 相关的所有设置:
这是 Nginx 中的特定内容需要我们探索吗?
Falco
(Falco)
6
有一个 Nginx 模板是默认添加的。它将是 app.yml 的最前面几行之一。您可能需要删除关于速率限制的那一行并重新构建,使其生效。
3 个赞
system
(system)
关闭
8
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.