From d2232eebde7b6fda6a5d8b507a8d3b0240a5e060 Mon Sep 17 00:00:00 2001
From: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Date: Thu, 24 Mar 2022 16:24:06 +0100
Subject: [PATCH] Bug 30172: Enqueue the job even if rabbitmq is not reachable

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
---
 Koha/BackgroundJob.pm | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/Koha/BackgroundJob.pm b/Koha/BackgroundJob.pm
index 2bb6f4935d..b8c010924d 100644
--- a/Koha/BackgroundJob.pm
+++ b/Koha/BackgroundJob.pm
@@ -100,6 +100,7 @@ sub enqueue {
 
     my $borrowernumber = C4::Context->userenv->{number}; # FIXME Handle non GUI calls
     my $json_args = encode_json $job_args;
+
     $self->set(
         {
             status         => 'new',
@@ -112,10 +113,17 @@ sub enqueue {
     )->store;
 
     $job_args->{job_id} = $self->id;
-    $json_args = encode_json $job_args;
 
+    my $conn;
+    try {
+        $conn = $self->connect;
+    } catch {
+        warn "Cannot connect to broker " . $_;
+    };
+    return unless $conn;
+
+    $json_args = encode_json $job_args;
     try {
-        my $conn = $self->connect;
         # 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...
-- 
2.30.2