我最近开发商消失,我需要做一个小的变化到我的网站。正确使用ForkManager和Perl?
这是我会提到代码:
my $process = scalar(@rows);
$process = 500 if $process > 500;
my $pm = Parallel::ForkManager->new($process);
这是一个Perl脚本,通过cron作业从API系统擦伤的数据代码。每次运行cron作业时,都会为该文件打开大量进程。例如,cron-job.pl
将运行100次以上。
它打开的实例数量取决于需要检查的数据量,因此每次都会有所不同,但从未超过500.上面的代码是否会导致这种情况发生?
我不熟悉使用ForkManager,但是从我做的研究看来,它多次运行相同的文件,这样它将从API系统中提取多个数据流,全部在同时。
的问题是,情况正在运行的数量显著放缓服务器。为了降低实例的数量,是不是真的就这么简单改变500
到一个较低的数字还是我失去了一些东西?
这是max_concurrent_进程。如果你告诉它,它仍然会做10000次,但在上面的例子中 - 一次只能运行500次。 – Sobrique 2014-11-23 23:11:11