sub repo_stored {
my ($self, $repo_ctx, $drs, $did) = @_;
+ # check @IDX_SHARDS instead of DO_QUIT to avoid wasting prior work
+ # because shard_commit is fast
+ return unless @IDX_SHARDS;
$did > 0 or die "BUG: $repo_ctx->{repo}->{git_dir}: docid=$did";
my ($c, $p) = PublicInbox::PktOp->pair;
$c->{ops}->{shard_done} = [ $self, $repo_ctx,
sub dump_roots_start {
my ($self, $do_join) = @_;
+ return if $DO_QUIT;
$XHC //= PublicInbox::XapClient::start_helper("-j$NPROC");
$do_join // die 'BUG: no $do_join';
progress($self, 'dumping IDs from coderepos');
sub dump_ibx_start {
my ($self, $do_join) = @_;
+ return if $DO_QUIT;
$XHC //= PublicInbox::XapClient::start_helper("-j$NPROC");
my ($sort_opt, $fold_opt);
pipe(local $sort_opt->{0}, $DUMP_IBX_WPIPE);