Блокировка на EventMachine :: Multi запрос - PullRequest
1 голос
/ 15 марта 2012

Я работаю над классом, отвечающим за объединение данных с нескольких сайтов одновременно.Он должен выдавать запросы всем сайтам параллельно, собирать результаты и затем возвращать их вызывающей стороне.Все вызовы должны быть завершены к тому времени, когда возвращается метод aggregate.

Кроме того, метод будет работать в контексте контроллера Rails, и он может или не может быть запущен по четномувеб-сервер.

Ниже приведена чистая версия кода на основе EM.* Есть ли способ заставить его вести себя под Тонким?Поскольку в Thin уже есть цикл обработки событий, блокировка по завершении мультизапроса никогда не завершится, как я написал выше.Тем не менее, я все еще хочу заблокировать завершение мультизапроса перед возвратом из aggregate.Другими словами, я хочу EventMachine в EventMachine.

Опрос никогда не является ответом.Есть ли другой способ написать это?

1 Ответ

2 голосов
/ 15 марта 2012

Я перестал быть упрямым и попробовал Typhoeus . Это Просто работает для этого сценария. Как уже упоминалось в другом потоке, блокировка асинхронного вызова является худшим из обоих миров.

...