Зачем мне оборачивать потоки в приложении Ruby on rails? - PullRequest
5 голосов
/ 06 ноября 2019

В моем приложении RoR я пишу API, в котором мне нужно вызывать несколько восходящих API, поэтому я планирую вызывать их параллельно, чтобы сэкономить время. Я хочу следовать рекомендациям при реализации многопоточной логики в приложениях ruby-on-rails.

В руководстве по RoR четко указано, что нам нужно обернуть наш код, но оно не объясняет, почему это важно.

Из рекомендаций ruby-on-rails :

Каждый поток должен быть упакован перед выполнением кода приложения, поэтому, если ваше приложение вручную делегирует работу другим потокам,такие как через Thread.new или функции Concurrent Ruby, которые используют пулы потоков, вы должны немедленно обернуть блок

  • Мое приложение запускает Rails версии 4.
  • Количество вышестоящих APIколичество вызовов в одном запросе колеблется от 3 до 30
  • Я проверил этот похожий SO post , но в нем ничего не говорится о wrapping поточном коде.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...