2

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 には実行を高速化する機能があると考えていました。それは可能ですか?どのように?

4

1 に答える 1