我需要在我的Rails应用程序中相当频繁地发送到另一台服务器,但这需要先行。问题是,我不需要回应。有没有办法通过发送请求然后放弃连接而不等待响应来加快速度,而不会进入延迟的作业或事件机器?如果这些是唯一的选择,我可以处理它,但它会让生活变得更加简单。
这就是我现在所拥有的:
remoteAddress = 'http://remote.server.address/'
params = {
'a' => a,
'b' => b }
url = URI.parse(remoteAddress)
Net::HTTP.post_form(url, params)
答案 0 :(得分: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