请放慢速度,您发出了太多请求。
请在 5 秒后重试。
错误代码:user_10_secs_limit。
我创建了一个使用 await ajax(/t/${this.args.topic.id}.json); 的主题。这会因为请求过多而被速率限制。我该如何避免这种情况?我注意到该限制被标记为 用户级别限制 ,而不是基于 IP 的限制。
请放慢速度,您发出了太多请求。
请在 5 秒后重试。
错误代码:user_10_secs_limit。
我创建了一个使用 await ajax(/t/${this.args.topic.id}.json); 的主题。这会因为请求过多而被速率限制。我该如何避免这种情况?我注意到该限制被标记为 用户级别限制 ,而不是基于 IP 的限制。
您是否位于 Cloudflare 等负载均衡器后面,导致 Discourse 无法获取用户的实际 IP 地址?
快速搜索一下,除了一个规范之外,我在代码中没有看到 user_10_secs_limit。我怀疑它可能与 IP 地址有关,尽管您看到了这个错误。
Here - 你无法 grep 到它 ![]()
error_code: \"#{error_code_identifier}_10_secs_limit\",
来自 discourse/lib/request_tracker/rate_limiters/user.rb at main · discourse/discourse · GitHub
@truman 你的主题组件是否对许多主题执行此操作?你具体想完成什么?你应该尝试合并调用,例如通过标记主题,然后在一次调用中按标签检索它们,并且/或者你应该找出一种缓存机制。
啊哈!我猜到我肯定忽略了什么简单的事情……
我想为每个主题获取反应,以便在主页上显示它们。例如:

你需要将其序列化在插件中,以避免所有这些查询。
获取 all-the-plugins 仓库并查找 add_to_serializer
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.