これは今までに出てきたのだろうか?
GitHub Enterprise インスタンスから大量の情報をダウンロードするアプリがあります (現在 github3.py を使用していませんが、github3.py を使用するように変換することを考えています)。基本的に、189 のリポジトリをクロールし、各リポジトリに対して、ブランチ、タグ、およびコミットをプルします。非常に多くの HTTP リクエストを連続して実行する必要があるため、これは明らかにかなり遅いです。
github3.py がgrequestオブジェクトを返すようにして、grequests にリクエストを並行して実行させることができるのだろうか? あるいは、github3.py で「同時実行レベル」を設定し、リクエストを並行して処理できるようにすることで、grequest をラップして非表示にすることもできます。または多分コンテキストマネージャ:
with github3.parallel():
tags = pull_tags(git_repo)
branches = pull_branches(git_repo)
並列化は非常に異なるパラダイムであるため、並列化でうまく機能する API を考え出すのは非常に困難な場合があることを認識しています。これが、私が課題トラッカーをこれでごちゃごちゃにしたくなかった理由です。