私は30-40のAPIコールを設定する必要があるアプリケーションを持っています。それぞれのAPIコールは、ステータスをポーリングしてAPIから取得する必要があるクエリ「ジョブ」を開始します。各ジョブは、即時から3〜4分の間で、未知の時間がかかります。"jobs"のPythonic Multithreading
これは、これらのジョブを「ディスパッチ」して結果を処理する前にすべてのジョブが完了するのを待つマルチスレッドモデルを適用するのに適しているようです。私はPythonで利用できるすべてのオプションについて混乱しています。concurrent.futures
またはasyncio
またはgreenlets
のどちらを使うべきかは私には不明です。
どのようにオプションを評価し、読み込み可能なPythonコードで結果を出すかを選択しますか?どれが最も普及し再利用可能なライブラリですか(言い換えれば、どちらが私の時間にとって良い投資ですか)? 私の仕事には最適なものはどれですか?
私の問題をPython 3.6以降に翻訳する方法についてのアドバイスやご指摘をいただければ幸いです。
感謝を!私は、ほとんどの場合、マルチスレッドやマルチプロセッシングを達成するための「最良の」または最も一般的な方法を理解するのに役立っています。これには幅広いツールが用意されています.3.5周りの標準ライブラリにasyncioを追加して以来、どれがまだ関連しているのかは不明です! – esoterydactyl
asyncioは使用しないでください。それを理解する余裕があるわけではありません。また、私はあなたがCPUに束縛されていないので、ここでスレッドをお勧めします。 – xaav
はい、マルチスレッド化が適しています。なぜ私はMPを心に持っていたのか分かりません。 – pookie