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: Jesse Maseto <jesse@bywatersolutions.com>
This commit is contained in:
parent
82e4ca1288
commit
74e3696921
|
|
@ -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 New Issue