]> Sergey Matveev's repositories - public-inbox.git/commitdiff
scripts/import_gmane_spool: preserve delivery order
authorEric Wong <e@80x24.org>
Tue, 15 Apr 2014 05:51:34 +0000 (05:51 +0000)
committerEric Wong <e@80x24.org>
Tue, 15 Apr 2014 05:51:34 +0000 (05:51 +0000)
Unfortunately, this means we get rid of parallelization,
as we need to preserve delivery order so HTML indices look
chronological.  Order may also affect spam filtering and
training, too.

scripts/import_gmane_spool

index e153ba4c4d6bec729dd38fa9ee5ccb1a7936eaed..d96c26c8f5c2f21353342bd5d752f1877ea8301a 100755 (executable)
 =cut
 use strict;
 use warnings;
-use Parallel::ForkManager;
 use Email::Simple;
 use PublicInbox::Filter;
 use PublicInbox::Config;
 use IPC::Run qw(run);
 sub usage { "Usage:\n".join("",grep(/\t/, `head -n 24 $0`)) }
 my $spool = shift @ARGV or die usage();
-my $nproc = `nproc 2>/dev/null` || 4;
-my $pm = Parallel::ForkManager->new($nproc);
 defined $ENV{RECIPIENT} or die usage();
 my @args = ('public-inbox-mda');
 
-foreach my $n (glob("$spool/*")) {
-       $n =~ m{/\d+\z} or next;
-       $pm->start and next;
+chdir $spool or die "chdir $spool failed: $!\n";
+
+foreach my $n (sort { $a <=> $b } grep(/\d+\z/, glob("*"))) {
        if (open my $fh, '<', $n) {
                my $s = eval {
                        local $/;
@@ -58,7 +55,4 @@ foreach my $n (glob("$spool/*")) {
        } else {
                warn "Failed to open $n: $!\n";
        }
-       $pm->finish;
 }
-
-$pm->wait_all_children;