tokuhirom's Blog

わたし、諦めない! - 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;
    };