]> Sergey Matveev's repositories - public-inbox.git/commitdiff
index: v2: parallelize if --reindex or --jobs is specified
authorEric Wong <e@yhbt.net>
Sun, 17 May 2020 00:08:54 +0000 (00:08 +0000)
committerEric Wong <e@yhbt.net>
Sun, 17 May 2020 19:08:42 +0000 (19:08 +0000)
`--reindex' involves chomping down lots of mail, so it benefits
from parallelization just like the initial indexing.  It's
also a bit surprising to specify `--jobs/-j' without parallel
processes, so ensure we turn on parallelization there, too.

We can simplify initialization here, as well, since neither
`eval' nor `V2Writable->new' should be in this code.

lib/PublicInbox/Admin.pm

index 2c8d191a7618fa905279a6e07fadfed5419ed7ce..e42b01e0e09b41eb2efcb188e1e8802312a8c2e7 100644 (file)
@@ -191,9 +191,8 @@ sub index_inbox {
        if (ref($ibx) && $ibx->version == 2) {
                eval { require PublicInbox::V2Writable };
                die "v2 requirements not met: $@\n" if $@;
-               my $v2w = $im // eval { $ibx->importer(0) } || eval {
-                       PublicInbox::V2Writable->new($ibx, {nproc=>$jobs});
-               };
+               $ibx->{-creat_opt}->{nproc} = $jobs;
+               my $v2w = $im // $ibx->importer($opt->{reindex} // $jobs);
                if (defined $jobs) {
                        if ($jobs == 0) {
                                $v2w->{parallel} = 0;