当有多个进程同时运行时,httpc:request返回:failed_connect

时间:2019-08-25 17:25:46

标签: erlang elixir

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本身有关?

0 个答案:

没有答案