Вы можете использовать Resque / Sidekiq для параллелизма во время выполнения, такого как Javascript Promises? - PullRequest
0 голосов
/ 09 июля 2019

Моя проблема проста: у меня есть вызов API Rails, который последовательно выполняет несколько вызовов к различным микросервисам: A -> B -> C -> D. A и B могут выполняться параллельно, прежде чем вызов к C. Dждать C, чтобы закончить.Если это был код Javascript, его легко организовать, например, с помощью Promises (или многих других средств).Я стремлюсь достичь того же параллелизма и оркестровки в Rails.Из всего, что я читаю о Resque и Sidekiq, я не могу выяснить, могут ли они это сделать.

Есть ли что-то присущи Resque / Sidekiq, который работает против этого?Например, есть ли гарантия (учитывая, что у вас было бы неограниченное аппаратное обеспечение и горизонтальная масштабируемость), что задания будут немедленно получены и обработаны как можно скорее?Мои задания A и B должны выполняться параллельно, но они не могут задерживаться ни на чем другом.Кроме того, я не вижу никакого механизма для блокировки и оркестровки в целом, за исключением пакетов Sidekiq, которые являются платной функцией.

...