View | Details | Raw Unified | Return to bug 30172
Collapse All | Expand All

(-)a/Koha/BackgroundJob.pm (-18 / +20 lines)
Lines 117-142 sub enqueue { Link Here
117
            $job_id = $self->id;
117
            $job_id = $self->id;
118
            $job_args->{job_id} = $job_id;
118
            $job_args->{job_id} = $job_id;
119
            $json_args = encode_json $job_args;
119
            $json_args = encode_json $job_args;
120
121
            try {
122
                my $conn = $self->connect;
123
                # This namespace is wrong, it must be a vhost instead.
124
                # But to do so it needs to be created on the server => much more work when a new Koha instance is created.
125
                # Also, here we just want the Koha instance's name, but it's not in the config...
126
                # Picking a random id (memcached_namespace) from the config
127
                my $namespace = C4::Context->config('memcached_namespace');
128
                $conn->send_with_receipt( { destination => sprintf("/queue/%s-%s", $namespace, $job_type), body => $json_args } )
129
                  or Koha::Exceptions::Exception->throw('Job has not been enqueued');
130
            } catch {
131
                if ( ref($_) eq 'Koha::Exceptions::Exception' ) {
132
                    $_->rethrow;
133
                } else {
134
                    warn sprintf "The job has not been sent to the message broker: (%s)", $_;
135
                }
136
            };
137
        }
120
        }
138
    );
121
    );
139
122
123
    Koha::Exceptions::Exception->throw('Job has not been enqueued')
124
        unless $job_id;
125
126
    try {
127
        my $conn = $self->connect;
128
        # This namespace is wrong, it must be a vhost instead.
129
        # But to do so it needs to be created on the server => much more work when a new Koha instance is created.
130
        # Also, here we just want the Koha instance's name, but it's not in the config...
131
        # Picking a random id (memcached_namespace) from the config
132
        my $namespace = C4::Context->config('memcached_namespace');
133
        $conn->send_with_receipt( { destination => sprintf("/queue/%s-%s", $namespace, $job_type), body => $json_args } )
134
          or Koha::Exceptions::Exception->throw('Job has not been enqueued');
135
    } catch {
136
        if ( ref($_) eq 'Koha::Exceptions::Exception' ) {
137
            $_->rethrow;
138
        } else {
139
            warn sprintf "The job has not been sent to the message broker: (%s)", $_;
140
        }
141
    };
142
140
    return $job_id;
143
    return $job_id;
141
}
144
}
142
145
143
- 

Return to bug 30172