【发布时间】:2022-01-16 22:41:22
【问题描述】:
这个问题可能听起来有点奇怪,但我不确定如何处理这个具体问题。
我有一个请求而不是做一些事情并将响应发送回客户端。 在这个特定的请求中,我也在将响应发送回做一些后台工作后做一些事情。问题在于这部分逻辑/功能,因为它请求具有速率限制的第三方公共 API。假设我向此端点发送 20 个请求/秒。
10个请求将被第三方公共API处理并正确处理,但最后10个请求将不被处理并返回限速错误。
我的问题是 - 我怎样才能改变这个逻辑/端点来支持我的需求。非常感谢任何反馈和建议。
// endpoint /get-data/
await doAlotOfLogicHere();
setTimeout(() => {
// Do something after 1 seconds
// This specific action can only take 10 requests / second
controller.doSomething(req,res)
}, 1000);
// Send response to client
res.status(200).send(data);
controller.doSomething()
exports.doSomething = (req,res) => {
await sendDataToPublicAPI();
}
【问题讨论】:
-
您的节点应用程序是分布式的还是在单个主机上运行?
-
在单个主机上运行。