Coro::LWP
use Coro::LWP
をするとLWPの諸々が勝手に上書きされるので非同期リクエストが可能になる
Coro::SemaphoreSet
Coro::SemaphoreSet
で同時接続数の管理を行えば、相手のサーバから怒られたりしないし、自分のリソース管理も楽になるでしょう。
scheduleについて
join
呼んだ方がいいのかは知らないけど、schedule
でやってみたかった
join
を使う場合はこんな感じ.
my @coros;
for ( 1 .. 10 ) {
push @coros, async { ... };
}
$_->join for @coros;
schedule
を実行した場合、main threadに制御が帰ってこないので、semaphoreの値をチェックして、$Coro::main->ready
でmain threadに戻してあげる必要があった
サンプルコード
0 件のコメント:
コメントを投稿