我使用express在node.js中实现了https/rest提供商。该功能正在调用Web服务,使用响应将数据转换/增强数据并返回转换的数据作为CSV。一个获得请求的执行时间在4分30秒至5分钟之间。我想通过调用URL来测试实现。问题:
-
Google Chrome中的执行失败,因为它运行到很长。没有选项增加超时值。
-
在摩德扎Firefox中执行: Network.http.Response.TimeOut 更改。现在执行请求一遍又一遍地。看起来响应被完全忽略了。
-
Postman中的执行:更改 settings->常规 -> xhr timeout MS (...)。
但是,在使用
相同数量后,执行每次停止消息:" 无法获得任何响应"。
我的问题:我可以使用哪种工具用于可靠运行的HTTP REST请求的可靠测试?
curl在秒设置中具有 - 最大时间,应该做您想要的。
curl -m 330 http://you.url
,但可能值得创建背景工作和轮询以完成背景工作。HTTP最不适合长期运行的任务。
我建议您使用套接字IO在客户端发送请求中的CSV文件时使用pub/sub的异步响应,并放置6分钟的超时,例如,服务器在请求返回ACK以确认文件过程启动,当文件准备就绪时,用套接字返回文件,套接字IO可以与Express
集成http://socket.io/
您是否控制了服务器?如果是这样,则应更改其运行方式。您的API不是最初的请求期望包含答案的响应,而应从可以获得操作状态的地方发出令牌(ui)。状态将"正在进行"或"完成;这是您的答案:..."
您将问题(长期运行的操作)放入服务器上的一流实体。