асинхронно вызывать несколько запросов GET от Ruby - PullRequest
0 голосов
/ 11 октября 2018

У меня есть несколько веб-запросов, которые я делаю параллельно, используя параллельный гем.Это вызывает все виды проблем с памятью из-за vfork.Эти веб-запросы занимают около 30 секунд каждый.Есть ли способ, которым я могу поставить их все в очередь асинхронно и запускать их одновременно, не используя параллельный гем?

Сейчас я использую Фарадей для выполнения веб-запросов.Код для каждого запроса выглядит следующим образом:

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 голосов
/ 22 октября 2018

Gem async-http сделал именно то, что я хочу.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...