@@ -, +, @@ RealTimeHoldsQueue syspref is on [v22.05] holds queue --- misc/cronjobs/holds/build_holds_queue.pl | 69 ++++++++++++++++++++++-- 1 file changed, 65 insertions(+), 4 deletions(-) --- a/misc/cronjobs/holds/build_holds_queue.pl +++ a/misc/cronjobs/holds/build_holds_queue.pl @@ -6,14 +6,75 @@ # FIXME: add command-line options for verbosity and summary # FIXME: expand perldoc, explain intended logic -use strict; -use warnings; +use Modern::Perl; -use Koha::Script -cron; +use Getopt::Long qw( GetOptions ); +use Pod::Usage qw( pod2usage ); + +use C4::Context; use C4::HoldsQueue qw(CreateQueue); use C4::Log qw( cronlogaction ); +use Koha::Script -cron; + +=head1 NAME + +build_holds_queue.pl - Rebuild the holds queue + +=head1 SYNOPSIS + +build_holds_queue.pl [-f] + + Options: + -h --help Brief help message + -m --man Full documentation + -f --force Run holds queue builder even if RealTimeHoldsQueue is enabled + +=head1 OPTIONS + +=over 8 + +=item B<--help> + +Print a brief help message and exits. + +=item B<--man> + +Prints the manual page and exits. + +=item B<--force> + +Allows this script to rebuild the entire holds queue even if the RealTimeHoldsQueue system preference is enabled. + +=back + +=head1 DESCRIPTION + +This script builds or rebuilds the entire holds queue. + +=cut + +my $help = 0; +my $man = 0; +my $force = 0; + +my $command_line_options = join( " ", @ARGV ); + +GetOptions( + 'h|help' => \$help, + 'm|man' => \$man, + 'f|force' => \$force, +); +pod2usage(1) if $help; +pod2usage( -exitval => 0, -verbose => 2 ) if $man; + +my $rthq = C4::Context->preference('RealTimeHoldsQueue'); + +if ( $rthq && !$force ) { + say "RealTimeHoldsQueue system preference is enabled, holds queue not built."; + say "Use --force to force building the holds queue."; + exit(1); +} cronlogaction(); CreateQueue(); - --