httpc:request
表现得很奇怪。
如果我对特定域发出单个请求,则该请求会很好地工作。它返回:ok
并包含正确的标题/正文:
:httpc.request(:get, {'http://valid-website-here.com', []}, [
timeout: 999_999,
connect_timeout: 999_999
], [])
但是,当非常相同的代码同时位于其他多个并发过程中时,返回的非常相同的URL 会返回:failed_connect
(两个{{1 }}或spawn
。
Task.async_stream
最奇怪的部分出现在这里:当{:failed_connect,
[{:to_address, {'valid-website-here.com', 80}}, {:inet, [:inet], :nxdomain}]}
进程同时运行时(不仅到“ valid-website-here.com”,而且到其他URL和域),它仍然可以工作... 但是当我添加更多进程时,让我们同时说30-50
,它就会开始显示上述消息。从我的角度来看,它应该不为同一呼叫生成不同的响应。这只是一个并发问题。
简而言之: 1,000
适用于少数并发进程,但是当我添加许多:httpc.request
之类的并发进程时,它开始返回1,000
< / p>
这是否也与我的网络或DNS查询有关?还是与failed_connect
本身有关?