是否有人知道从Rails中发出传出非阻塞HTTP请求的方法?我最终将需要响应主体,并试图避免提出新的框架来保持简单。
由于
答案 0 :(得分:0)
要模拟非阻塞部分,请设置低read_timeout。还要准备好捕获导致的超时错误:
request = Net::HTTP::Get.new(url)
http = Net::HTTP.new(url.host, url.port)
http.read_timeout = 1
begin
http.request(request)
rescue Timeout::Error => e
end
我不知道一个基本的rails机制,它将进行非阻塞调用并接收响应。 Rails与请求/响应周期密切相关,因此通常基本控制器执行路径将在HTTP调用返回之前结束。
答案 1 :(得分:-1)
您正在寻找“背景工作”或“背景工作者”。这有各种各样的宝石。 This blog post可以很好地了解其中的内容。 delayed_job现在非常受欢迎。