Mojoliciousで非同期APIを呼びたいけど、そもそも非同期API持ってなかったらどうするのか
YetAnotherCpanRecentChangesを購買して、 最新のCPAN情報をウォッチしているのですが・・
http://feeds.feedburner.com/YetAnotherCpanRecentChanges
なんか、私が求めていたようなモジュール名が通知された。
Mojo::IOLoop::ForkCallです。
https://metacpan.org/release/Mojo-IOLoop-ForkCall
MojoliciousからDBアクセスするとブロッキングしちゃうと おもうので、このモジュールでラップしてみたらどうなるか やってみたい!
サンプルも上がっているし https://metacpan.org/source/JBERGER/Mojo-IOLoop-ForkCall-0.09/ex/mojolicious.pl
簡単に使えそうな予感。 DBアクセス部分以外も業務ロジックを丸々subの中にぶち込んでしまえばいいんだろう。
たとえば並列に流すことができる業務ロジックA(3秒)、B(2秒)があるとして、前に紹介したDeferredと組み合わせて使えば3秒でレスポンスを返せるようになる。