@@ -, +, @@ --- Koha/BackgroundJob.pm | 7 ++++++- misc/background_jobs_worker.pl | 4 +++- 2 files changed, 9 insertions(+), 2 deletions(-) --- a/Koha/BackgroundJob.pm +++ a/Koha/BackgroundJob.pm @@ -48,7 +48,12 @@ sub enqueue { $json_args = encode_json $job_args; my $conn = $self->connect; - $conn->send_with_receipt( { destination => $job_type, body => $json_args } ) + # This namespace is wrong, it must be a vhost instead. + # But to do so it needs to be created on the server => much more work when a new Koha instance is created. + # Also, here we just want the Koha instance's name, but it's not in the config... + # Picking a random id (memcached_namespace) from the config + my $namespace = C4::Context->config('memcached_namespace'); + $conn->send_with_receipt( { destination => sprintf("%s-%s", $namespace, $job_type), body => $json_args } ) or Koha::Exceptions::Exception->throw('Job has not been enqueued'); } ); --- a/misc/background_jobs_worker.pl +++ a/misc/background_jobs_worker.pl @@ -24,8 +24,10 @@ my $conn = Koha::BackgroundJob->connect; my @job_types = qw( batch_biblio_record_modification batch_authority_record_modification ); +# FIXME cf note in Koha::BackgroundJob about $namespace +my $namespace = C4::Context->config('memcached_namespace'); for my $job_type ( @job_types ) { - $conn->subscribe({ destination => $job_type, ack => 'client' }); + $conn->subscribe({ destination => sprintf("%s-%s", $namespace, $job_type), ack => 'client' }); } while (1) { my $frame = $conn->receive_frame; --