NAME
Net::Stomp::MooseHelpers::ReconnectOnFailure - provide a reconnect-on-failure wrapper method
VERSION
version 3.0
SYNOPSIS
package MyThing;
use Moose;
with 'Net::Stomp::MooseHelpers::CanConnect';
with 'Net::Stomp::MooseHelpers::ReconnectOnFailure';
sub foo {
my ($self) = @_;
$self->reconnect_on_failure('connect');
# do something
}
DESCRIPTION
This role wraps the logic shown in the synopsis for Net::Stomp::MooseHelpers::CanConnect into a simple wrapper method.
Just call "reconnect_on_failure" passing the method name (or a coderef) and all the arguments. See below for details.
ATTRIBUTES
connect_retry_delay
How many seconds to wait between connection attempts. Defaults to 15.
METHODS
reconnect_on_failure
$self->reconnect_on_failure($method,@args);
$method
can be a method name or a coderef (anything that you'd write just after $self->
). @args
are passed untouched.
First of all, this calls $self->connect()
, then it calls $self->$method(@args)
, returning whatever it returns (preserves context).
If an exception is raised, warns about it, sleeps for "connect_retry_delay" seconds, then tries again.
AUTHOR
Gianni Ceccarelli <gianni.ceccarelli@net-a-porter.com>
COPYRIGHT AND LICENSE
This software is copyright (c) 2014 by Net-a-porter.com.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.