は基本的に私は現在、次のことをやっている:IO
for bigLogFile in bigLogFileFolder:
with open(bigLogFile) as bigLog:
processBigLogfile(bigLog)
私はネットワークドライブからこのログファイルをロードしておりますので、実行時間の大部分は、ファイルを待っていますロードする。しかし、processBigLogFileの実行時間も簡単ではありません。
私の基本的な考え方は、プロセスを非同期にして、現在のログが処理されている間にプログラムが次のログファイルをロードできるようにすることでした。 シンプルだが、私は非同期プログラミングで何の経験もなく、asyncioは私がやりたいことを達成するためのさまざまな方法を提供しているようだ(タスクや未来の使用は有望な候補者だったようだ)。
これを達成する最も簡単な方法を誰にでも教えてもらえますか? Asyncioは厳密には必要ではないですが、私は強く使用して希望ビルトインライブラリ
ログファイルが順番に処理しなければならないので、私は単にロードと処理ファイルをparallellizeことができないことに留意すべきである
ニースのソリューション!以前はキューを使用してマルチスレッドを行ってきましたが、私がやりたいことを実装するためにプール・サイズを1にすることは考えていませんでした。 – user2983738