我有一个作为 Mojo::Command 实现的脚本。它读取一个巨大的文本文件并从中提取数据。该文件包含简单的制表符分隔 (C/TSV) 记录。每行一条记录。如何使用 Mojo 事件循环将这些记录存储在小文件中 - 每条记录一个文件 - 所以我的脚本不会等待每条记录被存储,而是继续下一条记录。
这是一个精简的示例:
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 可以提供什么来加速执行。那可能吗?如何?