【问题标题】:Can't suspend Rails 'net/http' http request when remote IP is not avaiable当远程 IP 不可用时,无法暂停 Rails 'net/http' http 请求
【发布时间】:2016-12-16 00:36:22
【问题描述】:

我有一个应用程序向另一个服务器实例发出 http 请求,如下所示:

    http = Net::HTTP.new(ip_address, port)
    Net::HTTP::Post.new("/insert", 'Content-Type' => 'application/json')
    request.body(data)
    response = http.request(request)
    logger.info response 

它应该与我的另一个 AWS 内部实例通信。它运行良好,当请求的 IP 不可用时,它确实超时,如预期的那样。

问题是当我在本地机器上运行此代码时。我的计算机无法访问此 IP 地址,因此我预计它会超时甚至引发异常,但程序不会完全阻止尝试执行请求,我什至无法停止服务器(唯一的方法是杀死进程)!

我如何威胁这个案子?

【问题讨论】:

    标签: ruby-on-rails net-http


    【解决方案1】:

    您可以将代码包装在 unless Rails.env.production? 块中,或者在 /etc/hosts 中添加一行,将远程 IP 映射到 127.0.0.1,这样会更好。


    【讨论】:

      猜你喜欢
      • 2013-06-08
      • 2021-12-30
      • 1970-01-01
      • 2011-12-15
      • 2019-01-01
      • 2013-02-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多