]> Sergey Matveev's repositories - public-inbox.git/commitdiff
index: --compact respects --jobs
authorEric Wong <e@yhbt.net>
Sun, 26 Jul 2020 09:31:10 +0000 (09:31 +0000)
committerEric Wong <e@yhbt.net>
Sun, 26 Jul 2020 23:46:30 +0000 (23:46 +0000)
And -compact supports --jobs=0 like -index to disable parallel
execution.  Running three xapian-compact processes in parallel
on a USB 2.0 HDD is pretty painful.

lib/PublicInbox/Xapcmd.pm
script/public-inbox-index

index d6c069d75efe25535579fe46505cabee1b245290..3b7a581bd5c872463447c86dd81113ddd5f5db04 100644 (file)
@@ -129,7 +129,7 @@ sub same_fs_or_die ($$) {
 
 sub process_queue {
        my ($queue, $cb, $opt) = @_;
-       my $max = $opt->{jobs} || scalar(@$queue);
+       my $max = $opt->{jobs} // scalar(@$queue);
        if ($max <= 1) {
                while (defined(my $args = shift @$queue)) {
                        $cb->($args, $opt);
index d5c7cae2b9f53d0ca5c797bb60c5ec4cf7e2b282..5a0ceab7813e6f3d2abf7495216d505c348cd75d 100755 (executable)
@@ -24,6 +24,9 @@ if ($opt->{compact}) {
        require PublicInbox::Xapcmd;
        PublicInbox::Xapcmd::check_compact();
        $compact_opt = { -coarse_lock => 1, compact => 1 };
+       if (defined(my $jobs = $opt->{jobs})) {
+               $compact_opt->{jobs} = $jobs;
+       }
 }
 
 my $cfg = PublicInbox::Config->new;