0

我需要在我的 Rails 应用程序中频繁地 POST 到另一台服务器,但这需要永远。问题是我不需要回应。有什么方法可以通过发送请求然后断开连接而不等待响应来加快速度,而不会进入延迟的工作或事件机器?如果这些是唯一的选择,我可以处理它,但不必这样做会使生活更简单。

这是我现在拥有的:

remoteAddress = 'http://remote.server.address/'

params = {
  'a' => a,
  'b' => b }

url = URI.parse(remoteAddress)
Net::HTTP.post_form(url, params)
4

1 回答 1

3

如果在调用之前实例化一个Net::HTTP对象,可以将其read_timeout属性设置为一个非常小的数字,然后捕获生成的 Timeout::Error 异常并继续。

这是一个使用 URL 的各个部分和查询字符串格式的 POST 数据的示例:

endpoint = Net::HTTP.new(host, port)
endpoint.read_timeout = 0.001
endpoint.post(path, params_as_query_string) rescue Timeout::Error
于 2013-02-14T16:17:09.820 回答