Мой вопрос в основном таков: как я могу составить список запросов параллельно.
Представьте, что у меня есть список перевозчиков, и для каждого перевозчика мне нужно составить предложение через API, но параллельно.
Так что, если у меня есть массив из N носителей, я хочу сделать N запросов, и как только все они будут выполнены, я хочу выполнить действие или сделать что-то.
Сегодня то, что я я использую Concurrent :: Future , но ему не удалось запустить его параллельно, и только после того, как он завершит работу всех операторов, верните функцию:
quotations = []
carriers.each do |carrier|
quotationOperation = Concurrent::Future.execute {
quote(product, carrier) #quote makes an http request and returns the JSON
}
quotations.push(quotationOperation.value)
end
puts "???? FINISHED JOB WITH #{quotations.count}"
Это решение запускает запросы последовательно