9
Pythonマルチプロセッシングプールのimap_unordered呼び出しの進行状況を表示しますか?
imap_unordered()呼び出しでマルチプロセッシングプールセットのタスクを正常に実行するスクリプトがあります。 p = multiprocessing.Pool() rs = p.imap_unordered(do_work, xrange(num_tasks)) p.close() # No more work p.join() # Wait for completion しかし、私num_tasksは約250,000なので、join()メインスレッドが10秒ほどロックされます。メインプロセスがロックされていないことを示すために、コマンドラインに段階的にエコー出力できるようにしたいと考えています。何かのようなもの: p = multiprocessing.Pool() rs = p.imap_unordered(do_work, xrange(num_tasks)) p.close() # No more work while (True): remaining = rs.tasks_remaining() # How many of the map call haven't been done yet? if (remaining == …