从Ruby异步调用多个GET请求

时间:2018-10-11 20:36:10

标签: ruby asynchronous

我现在使用并行gem并行执行一堆Web请求。由于vfork,这会导致各种内存问题。这些网络请求每个大约花费30秒。有没有一种方法可以使它们全部异步排队并让它们在不使用并行gem的情况下同时启动?

现在,我使用Faraday进行网络请求。每个请求的代码如下:

conn = Faraday.new(url: TRIGGER_URL)
conn.post do |req|
  req.headers['Content-Type'] = 'application/json'
  req.options.timeout = 540
  req.body = {auth_key: AUTH_KEY, image_url: image_url, space_id: space_id, scene_num: scene_num, cylinder_mode: cylinder_mode}.to_json
end.body

1 个答案:

答案 0 :(得分:0)

async-http gem正是我想要的。

https://github.com/socketry/async-http