elixir - Elixir HTTP close connection error with Hackney {error: :closed}
问题描述
我在使用 Tesla 作为 http 客户端并使用 Hackney 作为适配器的 elixir 应用程序中遇到了奇怪的问题。
在对外部服务器进行 HTTP 调用时,它会间歇性地导致错误 --> 错误::关闭。我的应用程序在 pod 内运行并具有 istio sidecar 代理。我正在使用 elixir 1.10、Tesla 1.3.3、hackey 1.15、Erlang/OTP 22。
以下是我用来拨打电话的配置。是否有人遇到过这个问题,如果是,那么他是如何解决的。我应该做些什么来解决这个间歇性问题。
hackney_options =
if(insecure,
do: [recv_timeout: timeout, ssl_options: [verify: :verify_none]],
else: [recv_timeout: timeout]
)
adapter = {Tesla.Adapter.Hackney, hackney_options}
client =
headers
|> middlewares(timeout, retry, should_retry)
|> Tesla.client(adapter)
解决方案
推荐阅读
- python - google-cloud-profiler 元数据服务器警告
- r - 如何根据另一列的条件输出创建两个累积列?
- powershell - 如何使用 powershell 创建服务名
- android - 三星牛轧糖 SemClipboardManager
- javascript - 当覆盖设置为隐藏时,JavaScript 更新消失
- amazon-web-services - 如何在 buildspec 文件中使用 Git 命令?
- python - 两个小部件的相同颜色看起来不同
- bash - 用户创建和保存“别名”命令的最佳方法是什么?
- xml - Perl 调整 xsltMaxDepth (--maxdepth) 错误
- spring - AntMatcher 似乎与请求的路径不匹配(Spring Security)