NAME
    Perinci::Sub::Property::retry - Specify automatic retry

VERSION
    version 0.08

SYNOPSIS
     # in function metadata
     retry => 3,

     # more detailed
     retry => {n=>3, delay=>10, success_statuses=>/^(2..|3..)$/},

DESCRIPTION
    This property specifies retry behavior.

    Values: a hash containing these keys:

    *   n => INT (default: 0)

        Number of retries, default is 0 which means no retry.

    *   delay => INT (default: 0)

        Number of seconds to wait before each retry, default is 0 which
        means no wait between retries.

    *   success_statuses => REGEX (default: '^(2..|304)$')

        Which status is considered success.

    *   fatal_statuses => REGEX

        If set, specify that status matching this should be considered fatal
        and no retry should be attempted.

    *   non_fatal_statuses => REGEX

        If set, specify that status *not* matching this should be considered
        fatal and no retry should be attempted.

    *   fatal_messages => REGEX

        If set, specify that message matching this should be considered
        fatal and no retry should be attempted.

    *   non_fatal_messages => REGEX

        If set, specify that message *not* matching this should be
        considered fatal and no retry should be attempted.

    Property value can also be an integer (specifying just 'n').

    If function does not return enveloped result (result_naked=0), which
    means there is no status returned, a function is assumed to fail only
    when it dies.

    This property's wrapper implementation currently uses a simple loop
    around the eval block.

    It also pass a special argument to the function "-retries" so that
    function can be aware about retries.

SEE ALSO
    Perinci

HOMEPAGE
    Please visit the project's homepage at
    <https://metacpan.org/release/Perinci-Sub-Property-retry>.

SOURCE
    Source repository is at
    <https://github.com/sharyanto/perl-Perinci-Sub-Property-retry>.

BUGS
    Please report any bugs or feature requests on the bugtracker website
    <https://rt.cpan.org/Public/Dist/Display.html?Name=Perinci-Sub-Property-
    retry>

    When submitting a bug or request, please include a test-file or a patch
    to an existing test-file that illustrates the bug or desired feature.

AUTHOR
    Steven Haryanto <stevenharyanto@gmail.com>

COPYRIGHT AND LICENSE
    This software is copyright (c) 2014 by Steven Haryanto.

    This is free software; you can redistribute it and/or modify it under
    the same terms as the Perl 5 programming language system itself.

