]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/LeiQuery.pm
lei q: delay worker spawn
[public-inbox.git] / lib / PublicInbox / LeiQuery.pm
index 4fe40400622730c850fda9ffb9d6eac45cdc356f..6b1aa40c4b2f0038d4269b193eb8cc735bb25bf7 100644 (file)
@@ -75,21 +75,12 @@ sub lei_q {
        $xj ||= $lxs->concurrency($opt); # allow: "--jobs ,$WRITER_ONLY"
        my $nproc = $lxs->detect_nproc; # don't memoize, schedtool(1) exists
        $xj = $nproc if $xj > $nproc;
-       PublicInbox::LeiOverview->new($self) or return;
-       $self->atfork_prepare_wq($lxs);
-       $lxs->wq_workers_start('lei_xsearch', $xj, $self->oldset);
-       delete $lxs->{-ipc_atfork_child_close};
-       if (my $l2m = $self->{l2m}) {
-               if (defined($mj) && $mj !~ /\A[1-9][0-9]*\z/) {
-                       return $self->fail("`$mj' writer jobs must be >= 1");
-               }
-               $mj //= $nproc;
-               $self->atfork_prepare_wq($l2m);
-               $l2m->wq_workers_start('lei2mail', $mj, $self->oldset);
-               delete $l2m->{-ipc_atfork_child_close};
+       $lxs->{jobs} = $xj;
+       if (defined($mj) && $mj !~ /\A[1-9][0-9]*\z/) {
+               return $self->fail("`$mj' writer jobs must be >= 1");
        }
-
-       # no forking workers after this
+       $self->{l2m}->{jobs} = ($mj // $nproc) if $self->{l2m};
+       PublicInbox::LeiOverview->new($self) or return;
 
        my %mset_opt = map { $_ => $opt->{$_} } qw(thread limit offset);
        $mset_opt{asc} = $opt->{'reverse'} ? 1 : 0;