about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <e@yhbt.net>2020-07-26 09:31:10 +0000
committerEric Wong <e@yhbt.net>2020-07-26 23:46:30 +0000
commitc3ba74805e58b006768f3a29c3688a0a1d0bacaf (patch)
treeb0076aa011a65d05469c54782291754b84b0d889
parentcb3959c47f4443855cc42022528e4a859a93e7f7 (diff)
downloadpublic-inbox-c3ba74805e58b006768f3a29c3688a0a1d0bacaf.tar.gz
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.
-rw-r--r--lib/PublicInbox/Xapcmd.pm2
-rwxr-xr-xscript/public-inbox-index3
2 files changed, 4 insertions, 1 deletions
diff --git a/lib/PublicInbox/Xapcmd.pm b/lib/PublicInbox/Xapcmd.pm
index d6c069d7..3b7a581b 100644
--- a/lib/PublicInbox/Xapcmd.pm
+++ b/lib/PublicInbox/Xapcmd.pm
@@ -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);
diff --git a/script/public-inbox-index b/script/public-inbox-index
index d5c7cae2..5a0ceab7 100755
--- a/script/public-inbox-index
+++ b/script/public-inbox-index
@@ -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;