azure - Why does it take so long to get through first level retries? -
i've started playing around nservicebus on azure, , reason takes long time through first level retries when message handler throws exception. retries set 5 takes 20+ minutes before second level retries kick in.
what causing delay?
here's how i'm configuring bus:
configure.transactions.advanced(s => { s.disabledistributedtransactions(); s.donotwraphandlersexecutioninatransactionscope(); }); configure.with() .autofacbuilder(container) .definingcommandsas(t => t.iscommand()) .definingeventsas(t => t.isevent()) .xmlserializer() .messageforwardingincaseoffault() .azureconfigurationsource() .usetransport<azurestoragequeue>() .azurediagnosticslogger() .azuremessagequeue() .azuresubcriptionstorage() .useazuretimeoutpersister() .unicastbus() .runhandlersunderincomingprincipal(false);
fyi: i'm using nservicebus built develop branch of today , running in emulator.
oh, misread question, thought taking 20 minutes after last retry second level kick in. know , it's configurable!
to support batching (to lower cost) message visible time calculated multiplying individual messageinvisibletime amount in batchsize, default messageinvisibletime 30000 (milliseconds), default batchsize 10. multiply again 5 first level retries , you'll end 25 minutes before first exception occurs , second level kick in.
you can reconfigure if like: messageinvisibletime , batchsize property on azurequeueconfig , maxretries sits on transportconfig (in 4.0) or msmqtransportconfig (in 3.x)
Comments
Post a Comment