NAME

Perinci::Sub::Wrapper::property::retry - Specify automatic retry

VERSION

version 0.01

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, number of retries, default is 0 which means no retry), 'delay' (int, number of seconds to wait before each retry, default is 0 which means no wait between retries), and 'success_statuses' (regex, which status is considered success, default is ^(2..|304)$). Or it 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.

SEE ALSO

Perinci

AUTHOR

Steven Haryanto <stevenharyanto@gmail.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2012 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.