From afc663652ae0ae518709db26c5ef48fa005da264 Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Wed, 12 Jun 2024 09:05:53 -0400 Subject: [PATCH] Bug 37075: Message queue processor will fail to send any message unless letter_code is passed For reasons unknown, GetOptions is inserting an empty string into the letter_code list. If you are running the script with a letter code filter, the empty string is added to the OR so it functions. If no letter_code is passed, the search requires the letter code to be an empty string, which will of course fail. Even more perplexing is that this does not happen for the type list which is essentially identical code. Test Plan: 1) Generate some messages in the message queue 2) Run `process_message_queue.pl -v -c` 3) Note nothing happens 4) Apply this patch 5) Repeat step 2 6) Messages are sent! --- misc/cronjobs/process_message_queue.pl | 3 +++ 1 file changed, 3 insertions(+) diff --git a/misc/cronjobs/process_message_queue.pl b/misc/cronjobs/process_message_queue.pl index 316e5bae1af..29ecb445960 100755 --- a/misc/cronjobs/process_message_queue.pl +++ b/misc/cronjobs/process_message_queue.pl @@ -86,6 +86,9 @@ catch { cronlogaction({ info => $command_line_options }); +# Remove empty elements, see bug 37075 +@letter_code = grep { $_ ne q{} } @letter_code; + if ( C4::Context->config("enable_plugins") ) { my @plugins = Koha::Plugins->new->GetPlugins({ method => 'before_send_messages', -- 2.30.2