in reply to Re^3: How to Run Script for Multiple Files in Parallel?
in thread How to Run Script for Multiple Files in Parallel?

I tried this:
use Proc::Queue size=>2, qw(run_back); Proc::Queue::trace(1); my @ARGV = ("file1.fasta","file2.fasta"); for ( @ARGV ) { run_back { eval{ run_code($_) }; print STDERR $0."[$$]: $@\n" if $@; } } 1 while wait != -1; run_code { my $file = shift; #do the rest }
It gives this:
Proc::Queue::run_back(CODE(0x824a9d0)) called at mycode_itr.pl line 37 Proc::Queue::fork called at mycode_itr.pl line 37 Proc::Queue::run_back(CODE(0x824a9d0)) called at mycode_itr.pl line 37 Proc::Queue::fork called at mycode_itr.pl line 37 Proc::Queue::wait called at mycode_itr.pl line 38
Is it correct or is it an error message? If correct, what does it mean? However, now it does show 2 instances under "top".
Regards,
Edward

Replies are listed 'Best First'.
Re^5: How to Run Script for Multiple Files in Parallel?
by salva (Canon) on Apr 18, 2005 at 16:56 UTC
    yes, try also adding some debugging print statements in your run_code sub to see what's happening... at least one at the end telling that everything run fine.

    Proc::Queue has also a more verbose debug mode you can try as Proc::Queue::debug(1). It exposses a lot of the module internals, but it's not imposible to understand.