From: Eric Wong <e@80x24.org> To: meta@public-inbox.org Subject: [PATCH 4/7] lei q: cleanup store initialization Date: Wed, 20 Jan 2021 14:04:46 +0900 [thread overview] Message-ID: <20210120050449.71330-5-e@80x24.org> (raw) In-Reply-To: <20210119093435.17955-1-e@80x24.org> Since we no longer leak an FD for over.sqlite3, we can initialize and actually enable it by default as originally intended. --- lib/PublicInbox/LeiQuery.pm | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/lib/PublicInbox/LeiQuery.pm b/lib/PublicInbox/LeiQuery.pm index d6e801e3..941bc299 100644 --- a/lib/PublicInbox/LeiQuery.pm +++ b/lib/PublicInbox/LeiQuery.pm @@ -23,14 +23,15 @@ sub _vivify_external { # _externals_each callback # the main "lei q SEARCH_TERMS" method sub lei_q { my ($self, @argv) = @_; - my $opt = $self->{opt}; - - # --local is enabled by default - # src: LeiXSearch || LeiSearch || Inbox - my @srcs; require PublicInbox::LeiXSearch; require PublicInbox::LeiOverview; - PublicInbox::Config->json; + PublicInbox::Config->json; # preload before forking + my $opt = $self->{opt}; + my @srcs; # any number of LeiXSearch || LeiSearch || Inbox + if ($opt->{'local'} //= 1) { # --local is enabled by default + my $sto = $self->_lei_store(1); + push @srcs, $sto->search; + } my $lxs = PublicInbox::LeiXSearch->new; # --external is enabled by default, but allow --no-external @@ -39,7 +40,6 @@ sub lei_q { } my $j = $opt->{jobs} // (scalar(@srcs) > 3 ? 3 : scalar(@srcs)); $j = 1 if !$opt->{thread}; - $j++ if $opt->{'local'}; # for sto->search below $self->atfork_prepare_wq($lxs); $lxs->wq_workers_start('lei_xsearch', $j, $self->oldset); $self->{lxs} = $lxs; @@ -50,10 +50,8 @@ sub lei_q { $self->atfork_prepare_wq($l2m); $l2m->wq_workers_start('lei2mail', $j, $self->oldset); } - # no forking workers after this - my $sto = $self->_lei_store(1); - unshift(@srcs, $sto->search) if $opt->{'local'}; + my %mset_opt = map { $_ => $opt->{$_} } qw(thread limit offset); $mset_opt{asc} = $opt->{'reverse'} ? 1 : 0; $mset_opt{qstr} = join(' ', map {;
next prev parent reply other threads:[~2021-01-20 5:04 UTC|newest] Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-01-19 9:34 [PATCH 0/9] lei bugfixes and error handling Eric Wong 2021-01-19 9:34 ` [PATCH 1/9] lei q: start ->mset while query_prepare runs Eric Wong 2021-01-19 9:34 ` [PATCH 2/9] lei q: fix SIGPIPE handling from lei2mail workers Eric Wong 2021-01-19 9:34 ` [PATCH 3/9] lei q: do not spawn MUA early Eric Wong 2021-01-19 9:34 ` [PATCH 4/9] lei: write daemon errors to the sock directory Eric Wong 2021-01-19 9:34 ` [PATCH 5/9] lei q: fix augment of compressed mailboxes Eric Wong 2021-01-19 9:34 ` [PATCH 6/9] lei_overview: do not write if $lei->{1} is gone Eric Wong 2021-01-19 9:34 ` [PATCH 7/9] t/lei: fix double-running of socket test with oneshot Eric Wong 2021-01-19 9:34 ` [PATCH 8/9] lei: test some likely errors due to misuse Eric Wong 2021-01-19 9:34 ` [PATCH 9/9] lei_overview: start implementing format detection Eric Wong 2021-01-20 5:04 ` [PATCH 0/7] lei: fixes piled higher and deeper Eric Wong 2021-01-20 5:16 ` misnumbered, should be [PATCH 10/9]..[PATCH 16/9] :x Eric Wong 2021-01-20 5:04 ` [PATCH 1/7] lei: allow more mbox inode types Eric Wong 2021-01-20 5:04 ` [PATCH 2/7] lei: exit code in oneshot mode Eric Wong 2021-01-20 5:04 ` [PATCH 3/7] overidx: eidx_prep: fix leftover dbh reference Eric Wong 2021-01-20 5:04 ` Eric Wong [this message] 2021-01-20 5:04 ` [PATCH 5/7] lei: dump and clear errors.log in daemon mode Eric Wong 2021-01-20 5:04 ` [PATCH 6/7] lei_xsearch: keep l2m->{-wq_s1} while preparing query Eric Wong 2021-01-20 5:04 ` [PATCH 7/7] lei_to_mail: call PublicInbox::IPC::DESTROY Eric Wong
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style List information: https://public-inbox.org/README * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20210120050449.71330-5-e@80x24.org \ --to=e@80x24.org \ --cc=meta@public-inbox.org \ --subject='Re: [PATCH 4/7] lei q: cleanup store initialization' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Code repositories for project(s) associated with this inbox: https://80x24.org/public-inbox.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).