わたし、諦めない! - Sub::Retry
DB に接続失敗したばあいに数秒後にリトライしてほしいとか、 API なげるのに失敗したときにリトライしてほしいとか、そういう処理を楽にかけるモジュールつくった。
以下のようにしてつかう。
use Sub::Retry; use LWP::UserAgent; my $ua = LWP::UserAgent->new(); my $res = retry 3, 1, sub { my $res = $ua->post('http://example.com/api/foo/bar'); $res->is_success or die; $res; };