Bug 34990: Add persistent header when sending msg to RabbitMQ
Test plan:
NOTE: It is very hard to add a Koha unit test for adding this
single header when communicating to RabbitMQ via Stomp plugin.
When we would mock the send, we are only testing if perl can
pass a hashref to a subroutine ;)
Do NOT yet apply this patch.
Make sure that RabbitMQ runs.
Stop the koha-worker for long_tasks:
koha-worker --stop --queue long_tasks myclone
Stage a MARC file.
Check queues with rabbitmqctl list_queues.
Look for: koha_myclone-long_tasks 1 (at least 1)
Stop rabbitmq (something like /etc/init.d/rabbitmq-server stop)
Start rabbitmq (/etc/init.d/rabbitmq-server start)
Check queue again with with rabbitmqctl list_queues.
Look for: koha_myclone-long_tasks 0
Your messages have been gone.
Now apply this patch.
Reiterate the former steps. But note that you will still see
a non-empty queue in the last step:
koha_myclone-long_tasks 1 (at least 1)
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 5797f5095e
)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This commit is contained in:
parent
17560ba443
commit
8c0ee5ce0d
1 changed files with 2 additions and 1 deletions
|
@ -138,7 +138,8 @@ sub enqueue {
|
|||
# Picking a random id (memcached_namespace) from the config
|
||||
my $namespace = C4::Context->config('memcached_namespace');
|
||||
my $encoded_args = Encode::encode_utf8( $json_args ); # FIXME We should better leave this to Net::Stomp?
|
||||
$conn->send_with_receipt( { destination => sprintf("/queue/%s-%s", $namespace, $job_queue), body => $encoded_args } )
|
||||
my $destination = sprintf( "/queue/%s-%s", $namespace, $job_queue );
|
||||
$conn->send_with_receipt( { destination => $destination, body => $encoded_args, persistent => 'true' } )
|
||||
or Koha::Exceptions::Exception->throw('Job has not been enqueued');
|
||||
} catch {
|
||||
$self->status('failed')->store;
|
||||
|
|
Loading…
Reference in a new issue