名前¶
Sub::Retry - retry $n times
Sub::Retry - $n回繰り返す
概要¶
use Sub::Retry;
use LWP::UserAgent;
my $ua = LWP::UserAgent->new();
my $res = retry 3, 1, sub {
$ua->post('http://example.com/api/foo/bar');
};
説明¶
Sub::Retry provides the function named 'retry'.
Sub::Retryは 'retry'関数を提供します.
関数¶
- retry($n_times, $delay, \&code [, \&retry_if])
-
This function calls
\&code
. If the code throws exception, this function retry$n_times
after$delay
seconds.Return value of this function is the return value of
\&code
. This function cares wantarray.You can also customize the retry condition. In that case
\&retry_if
specify coderef. The coderef arguments is return value the same. (Default: retry condition is throws exception)use Sub::Retry; use Cache::Memcached::Fast; my $cache = Cache::Memcached::Fast->new(...); my $res = retry 3, 1, sub { $cache->get('foo'); } sub { my $res = shift; defined $res ? 0 : 1; };
- retry($n_times, $delay, \&code [, \&retry_if])
-
\&code
を呼び出します. もし例外が投げられた場合,$delay
秒後ごとに$n_times
回リトライします.この関数の戻り値は
\&code
の戻り値となります. wantarrayは考慮されます.リトライの条件をカスタマイズすることが可能で,
\&retry_if
コードリファレンスを使います. コードリファレンスの引数は, 戻り値と同じです. (デフォルトでは例外が投げられたときにリトライします).use Sub::Retry; use Cache::Memcached::Fast; my $cache = Cache::Memcached::Fast->new(...); my $res = retry 3, 1, sub { $cache->get('foo'); } sub { my $res = shift; defined $res ? 0 : 1; };
作者¶
Tokuhiro Matsuno <tokuhirom AAJKLFJEF GMAIL COM>
ライセンス¶
Copyright (C) Tokuhiro Matsuno
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.