Mojo::Command として実装されたスクリプトがあります。巨大なテキスト ファイルを読み取り、そこからデータを抽出します。このファイルには、単純なタブ区切り (C/TSV) レコードが含まれています。1 行に 1 レコード。Mojo イベント ループを使用して、これらのレコードを小さなファイル (レコードごとに 1 つのファイル) に保存する方法を教えてください。これにより、スクリプトは各レコードが保存されるのを待たずに、次のレコードに進みます。
以下は、簡略化された例です。
package My::task;
use Mojo::Base 'Mojolicious::Command';
#in My::task::run
#use Text::CSV to open and read the file
while (!$csv->eof()) {
my $row = $csv->getline($fh)
do_something_time_consuming_and_store_the_record_somewhere($row)
}
Mojo Event Loop を使用して、フォーク/スレッドを回避できると考えていました。以前はParallel::Forkerを使用して成功していましたが、Mojo には実行を高速化する機能があると考えていました。それは可能ですか?どのように?