对 api 服务器的多个异步请求(即发即弃)

Posted

技术标签:

【中文标题】对 api 服务器的多个异步请求(即发即弃)【英文标题】:Multiple async requests to api server (fire and forget) 【发布时间】:2013-06-27 02:42:12 【问题描述】:

我是 nodejs 的新手,我正在尝试使用存储在文本文件中的 url 参数调用 api 服务器。 文本文件很大(大约 20 GB)。现在如何读取该文件并根据参数生成 url 并调用 api 服务器?

api 服务器不会返回太多信息。它只是返回 OK 或什么都没有。所以,现在的反应并不重要。这可能是一个“即发即弃”的请求。如果我们可以处理响应,那就太好了,这样我就可以根据响应代码或响应文本重新运行失败的请求(如果有的话)

谢谢

【问题讨论】:

粘贴一些文本文件的示例数据和api服务器的URL格式。如果没有这些信息,我们怎么能猜出您尝试处理和请求的内容? 您是在尝试使用 node.js 来读取文件并提交请求,还是对其他想法持开放态度?文本文件是否包含完整的 URL,或者在发送请求之前是否需要进行一些处理? @ArieShaw : api 服务器 url 看起来像这样 http;//api.subbe.myserver.com/api/v3/da347987230bbacefffaaa/srt/?s=2354523402&s=344401 @Joe :我试图使用twisted 同时发送多个请求,但我收到“打开的文件太多”错误。所以增加了“ulimit”并尝试了。我仍然无法获得表演。每 5000 个请求后,我不得不延迟 3 或 4 秒。我找不到在没有延迟(睡眠)的情况下发送请求的方法。这就是我研究nodejs的原因。我对任何技术都持开放态度 @ArieShaw :查询字符串参数来自文本文件。现在文件读取 IO 不应该阻塞同时发送多个请求。如果您需要更多信息,请告诉我 【参考方案1】:

您想查看 FileSystem.createReadStream http://nodejs.org/api/fs.html#fs_fs_createreadstream_path_options

【讨论】:

以上是关于对 api 服务器的多个异步请求(即发即弃)的主要内容,如果未能解决你的问题,请参考以下文章

MEF插件架构上的“即发即弃”方法

Mdb 与 EJB 3.1 异步方法

如何实现从一个进程到另一个进程的即发即弃消息传递?

演员模型不是一种反模式吗,因为即发即弃的风格迫使演员记住一个状态?

event_loop 在 Django>=3.1 异步视图中存在多长时间

针对 C/C++ 远程消息队列的建议