Bug 36736: Load plugins at the start of background job processing
This patch adds a call to get_enabled_plugins before processing background jobs to ensure that all plugin hooks are loaded and cached To test: 1 - Install a plugin that adds new objects e.g. the Contracts plugin https://github.com/bywatersolutions/fs-koha-plugin-contracts or the Koha Advent plugin: https://gitlab.com/koha-community/koha-advent/koha-plugin-fancyplugin 2 - Restart all 3 - Tail all your logs 4 - Stage and import a file containing items 5 - Note in the logs DBI Exception: DBD::mysql::st execute failed: Lock wait timeout exceeded; try restarting transaction 6 - Apply this patch 7 - Restart all 8 - Stage and import again 9 - Success! Signed-off-by: David Cook <dcook@prosentient.com.au> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This commit is contained in:
parent
ed04035e9f
commit
44b2c48ace
1 changed files with 7 additions and 0 deletions
|
@ -26,6 +26,7 @@ use C4::Context;
|
|||
use Koha::DateUtils qw( dt_from_string );
|
||||
use Koha::Exceptions;
|
||||
use Koha::Exceptions::BackgroundJob;
|
||||
use Koha::Plugins;
|
||||
|
||||
use base qw( Koha::Object );
|
||||
|
||||
|
@ -164,6 +165,12 @@ sub process {
|
|||
|
||||
return {} if ref($self) ne 'Koha::BackgroundJob';
|
||||
|
||||
# Our background jobs are called in forked processes
|
||||
# to ensure we have all plugin hooks and data we call
|
||||
# get_enabled_plugins at the star of processing
|
||||
# to populate the cache
|
||||
Koha::Plugins->get_enabled_plugins();
|
||||
|
||||
my $derived_class = $self->_derived_class;
|
||||
|
||||
$args ||= {};
|
||||
|
|
Loading…
Reference in a new issue