加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Errno :: ECONNRESET:使用rest-client在Rails

发布时间:2020-12-16 19:32:57 所属栏目:百科 来源:网络整理
导读:我们有一个 Ruby on Rails应用程序,它具有“搜索”功能(搜索某些公司).从浏览器用户键入一些名称和点击搜索,此搜索对外部系统进行休息api调用,并获取一些搜索结果. 我们正在使用“rest-client”(用于Ruby on Rails). 我注意到这似乎工作了几个小时突然我的搜
我们有一个 Ruby on Rails应用程序,它具有“搜索”功能(搜索某些公司).从浏览器用户键入一些名称和点击搜索,此搜索对外部系统进行休息api调用,并获取一些搜索结果.

我们正在使用“rest-client”(用于Ruby on Rails).

我注意到这似乎工作了几个小时突然我的搜索似乎突然被打破,我可以在我的日志中看到我得到:

Errno::ECONNRESET: Connection reset by peer

我们试图通过查看日志来调查此问题,我们没有看到任何日志.

如果我们需要再次进行此搜索,我们需要重新启动乘客,然后立即运行.这只发生在生产环境中.我在分期测试中似乎运行良好.

问题:

>什么可能导致这个“重置问题”
>为什么我的prod乘客重置它开始再次工作.
>我们使用reset-client应该编写一个代码,以便在发生此异常时手动关闭连接.
>防火墙中的任何问题都可能导致此问题
>我是否可以在异常中放置任何代码来重新启动此连接,以便下一次调用成功.

码:

def call
   resp_data = RestClient.get(@request_url,@header)
   rescue => error
     puts 'Exception: ' error.message
end

解决方法

尝试以下方法
resp_data = RestClient::Request.new(
    method: :get,url: @request_url,#=> https://api.example.com/auth2/endpoint
    :headers => {
        :Authorization => @header,#=> "Bearer access_token",}
)

rescue => error
    puts 'Exception: ' error.message

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读