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.
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);
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;