X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FLeiToMail.pm;h=ed609081b0a4c5dde199a0b5f47ce39989c1a652;hb=702864ea3393f4c7a91336b277083bf9fd4b0860;hp=a419b83f211cc8757f4988e686dab30dd9266191;hpb=8b91bd5f929bf166ee3a79dec43fba0e68b1dc8e;p=public-inbox.git diff --git a/lib/PublicInbox/LeiToMail.pm b/lib/PublicInbox/LeiToMail.pm index a419b83f..ed609081 100644 --- a/lib/PublicInbox/LeiToMail.pm +++ b/lib/PublicInbox/LeiToMail.pm @@ -689,6 +689,8 @@ sub do_augment { # slow, runs in wq worker # fast (spawn compressor or mkdir), runs in same process as pre_augment sub post_augment { my ($self, $lei, @args) = @_; + $self->{-au_noted}++ and $lei->qerr("# writing to $self->{dst} ..."); + my $wait = $lei->{opt}->{'import-before'} ? $lei->{sto}->wq_do('checkpoint', 1) : 0; # _post_augment_mbox @@ -784,9 +786,28 @@ sub wq_atexit_child { $lei->{pkt_op_p}->pkt_do('l2m_progress', $nr); } +# runs on a 1s timer in lei-daemon +sub augment_inprogress { + my ($err, $opt, $dst, $au_noted) = @_; + $$au_noted++ and return; + print $err '# '.($opt->{'import-before'} ? + "importing non-external contents of $dst" : ( + ($opt->{dedupe} // 'content') ne 'none') ? + "scanning old contents of $dst for dedupe" : + "removing old contents of $dst")." ...\n"; +} + # called in top-level lei-daemon when LeiAuth is done sub net_merge_all_done { - my ($self) = @_; + my ($self, $lei) = @_; + if ($PublicInbox::DS::in_loop && + $self->can("_do_augment_$self->{base_type}") && + !$lei->{opt}->{quiet}) { + $self->{-au_noted} = 0; + PublicInbox::DS::add_timer(1, \&augment_inprogress, + $lei->{2}, $lei->{opt}, + $self->{dst}, \$self->{-au_noted}); + } $self->wq_broadcast('do_post_auth'); $self->wq_close(1); }