honeydew v1.4.0 Honeydew.FailureMode.ExponentialRetry View Source

Instructs Honeydew to retry a job a number of times on failure, waiting an exponentially growing number of seconds between retry attempts. You may specify the base of exponential delay with the :base argument, it defaults to 2.

Please note, this failure mode will not work with the ErlangQueue queue implementation at the moment.

Examples

Retry jobs in this queue 3 times, delaying exponentially between with a base of 2:

Honeydew.start_queue(:my_queue, failure_mode: {Honeydew.FailureMode.ExponentialRetry,
                                               times: 3,
                                               base: 2})

Retry jobs in this queue 3 times, delaying exponentially between with a base of 2, and then move to another queue:

Honeydew.start_queue(:my_queue,
                     failure_mode: {Honeydew.FailureMode.ExponentialRetry,
                                    times: 3,
                                    base: 2,
                                    finally: {Honeydew.FailureMode.Move,
                                              queue: :dead_letters}})

Link to this section Summary

Link to this section Functions

Link to this function exponential(job, reason, args) View Source