Bug 31345: Add ability to exit process_message_queue.pl early if any plugin before_send_messages hook fails
Sometimes it would be better for process_message_queue.pl to stop if a plugin hook fails rather than continue processing. It would be nice if that was a command line option.
Test Plan:
1) Install any plugin with a before_send_messages hook
2) Modify the plugin, add a 'die;' statement at the start of the
before_send_messages method of the plugin.
3) Run process_message_queue.pl as usual
4) Note the exit code is 0
5) Run it again with the new -e setting
6) Note the exit code is 1
Signed-off-by: Brendan Lawlor <blawlor@clamsnet.org>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 83f9535fab)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This commit is contained in:
parent
f63dbed44a
commit
ff2cce52c5
|
|
@ -35,6 +35,7 @@ my $verbose = 0;
|
|||
my $where;
|
||||
my @type;
|
||||
my @letter_code;
|
||||
my $exit_on_plugin_failure = 0;
|
||||
|
||||
my $command_line_options = join(" ",@ARGV);
|
||||
|
||||
|
|
@ -48,6 +49,7 @@ GetOptions(
|
|||
't|type:s' => \@type,
|
||||
'c|code:s' => \@letter_code,
|
||||
'w|where:s' => \$where,
|
||||
'e|exit-on-plugin-failure' => \$exit_on_plugin_failure,
|
||||
);
|
||||
my $usage = << 'ENDUSAGE';
|
||||
|
||||
|
|
@ -67,6 +69,7 @@ This script has the following parameters :
|
|||
-h --help: this message
|
||||
-v --verbose: provides verbose output to STDOUT
|
||||
-w --where: filter messages to send with additional conditions in the where clause
|
||||
-e --exit-on-plugin-failure: if enabled, script will exit prematurely if any plugin before_send_messages hook fails
|
||||
ENDUSAGE
|
||||
|
||||
die $usage if $help;
|
||||
|
|
@ -106,6 +109,7 @@ if ( C4::Context->config("enable_plugins") ) {
|
|||
}
|
||||
catch {
|
||||
warn "$_";
|
||||
exit 1 if $exit_on_plugin_failure;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue