DBIx-BatchChunker
view release on metacpan or search on metacpan
PRIVATE METHODS
_process_block
Runs the DB work and passes it to the coderef. Its return value
determines whether the block should be processed or not.
_process_past_max_checker
Checks to make sure the current endpoint is actually the end, by
checking the database. Its return value determines whether the block
should be processed or not.
See "process_past_max".
_chunk_count_checker
Checks the chunk count to make sure it's properly sized. If not, it
will try to shrink or expand the current chunk (in chunk_size
increments) as necessary. Its return value determines whether the block
lib/DBIx/BatchChunker.pm view on Meta::CPAN
### Something a bit more free-form
$self->$coderef($ls->start, $ls->end);
}
return 1;
}
#pod =head2 _process_past_max_checker
#pod
#pod Checks to make sure the current endpoint is actually the end, by checking the database.
#pod Its return value determines whether the block should be processed or not.
#pod
#pod See L</process_past_max>.
#pod
#pod =cut
sub _process_past_max_checker {
my ($self) = @_;
my $ls = $self->loop_state;
my $progress = $ls->progress_bar;
lib/DBIx/BatchChunker.pm view on Meta::CPAN
# Checked too many times: Just process it
$ls->prev_check('too many checks');
return 1;
}
elsif ($ls->end >= $self->max_id) {
# At the end: Just process it
$ls->prev_check('at max_id');
return 1;
}
elsif ($chunk_percent < $self->min_chunk_percent) {
# Too few rows: Keep the start ID and accelerate towards a better endpoint
$self->_print_chunk_status('expanded');
$ls->_mark_chunk_timer;
$ls->_increase_multiplier;
$ls->prev_check('too few rows');
return 0;
}
$ls->prev_check('nothing wrong');
return 1;
}
lib/DBIx/BatchChunker.pm view on Meta::CPAN
=head1 PRIVATE METHODS
=head2 _process_block
Runs the DB work and passes it to the coderef. Its return value determines whether the
block should be processed or not.
=head2 _process_past_max_checker
Checks to make sure the current endpoint is actually the end, by checking the database.
Its return value determines whether the block should be processed or not.
See L</process_past_max>.
=head2 _chunk_count_checker
Checks the chunk count to make sure it's properly sized. If not, it will try to shrink
or expand the current chunk (in C<chunk_size> increments) as necessary. Its return value
determines whether the block should be processed or not.
( run in 0.226 second using v1.01-cache-2.11-cpan-b61123c0432 )