multiprocessing
パッケージをPython 3.6で使用して、約100個のタスクを実行し、同時に最大4個のタスクを同時に実行する方法を見つけようとしています。Pythonマルチプロセッシング:次の結果を取得
- 次の完了したタスクをプールから繰り返し取得し、すべてのタスクが成功するか失敗するまでその戻り値を処理します。
- 他のタスクから結果にアクセスできるように、任意のタスクで例外をスローしないでください。
プールに送信されたタスクの順序を維持する必要はありません(つまり、キューは必要ありません)。タスクの総数(上記の「100」)は法外に巨大ではありません。私はそれらを一度に提出して、労働者が利用できるようになるまで待ち行列に入れることを気にしません。
私はmultiprocessing.Pool
がこれに適していると思っていましたが、私は繰り返し呼び出すことができる「次の結果を得る」メソッドを見つけることができないようです。
これはプロセス管理プリミティブから自分自身をロールバックする必要がありますか?またはPool
(または私が紛失している別のもの)がこのワークフローをサポートできますか?
コンテキストについては、私は数分かかるかもしれないリモートプロセスを呼び出すために各ワーカーを使用していますが、同時にN個のジョブを処理する能力があります(具体的な例では4です)。
http://pyvideo.org/search.html?q=multiprocessing – wwii
@wwiiビデオは特にありますか?その質問に対処することをお勧めしますか? –
一般的に - 私はPyconのビデオがかなり有益であることを知っています。また、[マルチプロセッシングモジュールのドキュメント](https://docs.python.org/3/library/multiprocessing.html)に示されている例は、私が遊んで実験したいときに私を始めさせるのに十分なようです。 – wwii