NSQ.Consumer.Backoff (elixir_nsq v1.2.0)
When messages fail unexpectedly hard, we go into "backoff mode".
Summary
Functions
This function is called asynchronously from resume_later
. It
will cause one connection to have RDY 1. We only resume after this if
messages succeed a number of times == backoff_counter. (That logic is in
start_stop_continue.)
Decision point about whether to continue/end/ignore backoff.
Functions
Link to this function
resume(cons, cons_state)
@spec resume(pid(), NSQ.Consumer.state()) :: {:ok, NSQ.Consumer.state()}
This function is called asynchronously from resume_later
. It
will cause one connection to have RDY 1. We only resume after this if
messages succeed a number of times == backoff_counter. (That logic is in
start_stop_continue.)
Link to this function
resume!(cons, cons_state)
Link to this function
start_stop_continue(cons, backoff_signal, cons_state)
@spec start_stop_continue(pid(), atom(), NSQ.Consumer.state()) :: {:ok, NSQ.Consumer.state()}
Decision point about whether to continue/end/ignore backoff.
Link to this function