co

OVERVIEW

PHP の cURL リソースから直接コルーチンを使った平行処理を提供するライブラリ

YEAR 2016 - 2018

※ 現在はメンテナンスが事実上凍結されている

mpyw/co: Asynchronous cURL executor simply based on resource and Generator. https://github.com/mpyw/co


PHP の cURL リクエストを平行実行する関数は,非常に使い勝手が悪い。「全部リクエストを送ってすべて終わるまで待つ」という処理は簡単に書けても,「N個までの並行リクエストを許可し,完了したら次のリクエストをプールに投入して続行,さらにその間に他の処理も行う」というコードはなかなか書けない。

PHPにおけるI/O多重化 というテーマで過去に Hiraku さんが実装方針の提案と試験的な実装をされていたが,汎用性や完成度の点から満足できなかったため,ここでライブラリの自作を開始。現在となっては Guzzle が主流だが,当時の自分は生 cURL を使ったコードをメインに書いていたため,どうしてもこれが欲しかった。

完成後は更に,これをベースとして他の自分のライブラリを作った。

WEBSITE