Skip to search.
nservicebus

Group Information

  • Members: 1298
  • Category: Software
  • Founded: Dec 16, 2007
  • Language: English
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Hear how Yahoo! Groups has changed the lives of others. Take me there.

Messages

  Messages Help
Advanced
Handling failures   Message List  
Reply Message #675 of 14127 |
As far as I know if a message delivery fails then NServiceBus retries
immediately and keeps doing this until 5th attempt in a row fails. If
that happens then it sends the message to the error queue. Is there
any setting that would instruct NServiceBus to wait some period of
time between retries? Is there any other built-in way of handling such
cases when the first delivery fails?

thanks

Pawel




Tue May 20, 2008 9:48 pm

pawel.pabich
Offline Offline
Send Email Send Email

Message #675 of 14127 |
Expand Messages Author Sort by Date

As far as I know if a message delivery fails then NServiceBus retries immediately and keeps doing this until 5th attempt in a row fails. If that happens then...
pawel.pabich Offline Send Email May 20, 2008
9:48 pm

The retry count doesn't have to do with message delivery. MSMQ handles that independently of nServiceBus. When a transaction is thrown during any part of...
Udi Dahan
udidahan7 Offline Send Email
May 20, 2008
10:28 pm

Isn't Pawel asking about some kind of "Retry strategy". The current one is "Retry 5 time with no wait". I've seen solutions that sleeps a while before retrying...
Andreas Öhlund
andreas_ohlund Offline Send Email
May 21, 2008
6:58 am

My answer was to say that nServiceBus currently doesn’t do those kinds of retry strategies – MSMQ does that by itself. That’s one example as to a case...
Udi Dahan
udidahan7 Offline Send Email
May 21, 2008
7:25 am

Hi, If I understand correctly then whenever a message is sent using MSMQ we deal with 3 distinct steps. 1. The message is sent to the sender local queue. 2....
pawel
pawel.pabich Offline Send Email
May 21, 2008
10:16 am

Actually, when you send a message, it first goes to the outgoing queue on the sending machine. Once that successfully occurs, the sending thread is released to...
Udi Dahan
udidahan7 Offline Send Email
May 21, 2008
11:44 am

I see your point and it makes sense as long as you control external systems. If you don't and they are a bit flaky than a good retry strategy might help a lot....
pawel
pawel.pabich Offline Send Email
May 21, 2008
1:14 pm

In the example I was talking about, what do you view as the external system? Or does the fact that I assume MSMQ communication lead you to that conclusion? -- ...
Udi Dahan
udidahan7 Offline Send Email
May 21, 2008
1:24 pm

I don't understand why retry handling would need to be part of the framework? If you wanted to do that, couldn't you just do something like (prototype code): ...
Eric Hauser
ehauser421 Offline Send Email
May 22, 2008
12:52 am

That’s an interesting thought – using nServiceBus under the ITransport level to implement that functionality. It would break configuration based on type,...
Udi Dahan
udidahan7 Offline Send Email
May 22, 2008
7:34 am

I'd rather not have to define an IReplayableMessage interface to do something like that, but you have to store the replay information somewhere. You could do...
Eric Hauser
ehauser421 Offline Send Email
May 22, 2008
2:14 pm

I’d vote for exposing custom headers as well, somewhere to put and retrieve info that is needed by the messaging system and not by the domain. From:...
Nathan Stults
nstults Offline Send Email
May 22, 2008
3:29 pm

Currently there’s TransportMessage which sits on the boundary between the bus and the transport, exposing to the bus in a technology agnostic way the...
Udi Dahan
udidahan7 Offline Send Email
May 22, 2008
6:25 pm

I'm not referring to a transport specific header. Basically, I just want an IDictionary<string, string> property called Headers on TransportMessage and a way...
Eric Hauser
ehauser421 Offline Send Email
May 22, 2008
8:06 pm

There is always this question where you draw the line between application code and infrastructure code. In this particular case I would see the retry strategy...
pawel
pawel.pabich Offline Send Email
May 22, 2008
10:08 am

By the external system I mean a system that the service needs to talk to synchronously when it processes a message. As an example, there is a system that uses...
pawel
pawel.pabich Offline Send Email
May 22, 2008
10:23 am

Now I understand what your scenario is! The way that external integration of that kind is handled is simple: Your application logic sits in one autonomous...
Udi Dahan
udidahan7 Offline Send Email
May 22, 2008
11:57 am

From my perspective this is like adding another level of indirection. At the end of the day there must be a piece of code that handles retries and it does not...
pawel
pawel.pabich Offline Send Email
May 22, 2008
2:15 pm

Just keep in mind what happens to that state (the number of retries) when your server restarts. Maybe the answer is “I don’t care, I’ll just start from...
Udi Dahan
udidahan7 Offline Send Email
May 22, 2008
6:29 pm

Putting retry strategy at the level of infrastructure doesn't mean that I want to keep the number of retires in memory. It can be serialized together with the ...
Pawel Pabich
pawel.pabich Offline Send Email
May 23, 2008
12:34 am
Advanced

Copyright © 2010 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines NEW - Help