-
Notifications
You must be signed in to change notification settings - Fork 129
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
reader: bump default max_tries from 5 to 65535 (max possible) #134
Conversation
the default should be unlimited (or in this case the max possible which is practically unlimited). In many cases the application needs better control on what to do when messages are requeud too many times. Often, there will be different strategies for different messages. For example, some messages should be discarded immediately if they fail and others should be requeued many times. while, the default is just a default that can be changed it is a surprise that can catch people that didn't read the docs carefully (happend to me) and cause quite message loss.
Hi Matt, |
@the-gigi I think @mreiferson and I understand where you are coming from, and I appreciate your time in sharing your thoughts here. On a tangential note, i'm curious the hear if you use the built in backoff? It's typical (and intentional) that backoff slows processing to a trickle when you have a transient failure, and in turn that also means you very slowly work through your retry count. I think there are probably two tangible changes we can make here:
|
convenient reference for others: https://pynsq.readthedocs.org/en/latest/reader.html#nsq.Reader.giving_up I agree, would be nice to more conveniently be able to enable (or disable) archiving failed messages. Maybe it does make sense turn it on by default, and if you don't want the archiving you can turn it off, but if you're not aware of the possibility you'll notice all these archived message files piling up and you'll quickly figure out what's going on and be able to specify the desired behavior. But I expect the project will get at least one complaint about filling up (or using all the inodes on) a root filesystem 😁 |
Hi @jehiah, Anyway, I really appreciate nsq. This is just my opinion. Now, that I know of the default behavior I'm all set. This is all about the next person that might be surprised. Thanks for all the hard work and a fantastic software. |
see #135 |
the default should be unlimited (or in this case the max possible which is practically unlimited).
In many cases the application needs better control on what to do when messages are requeud
too many times. Often, there will be different strategies for different messages. For example,
some messages should be discarded immediately if they fail and others should be requeued
many times. while, the default is just a default that can be changed it is a surprise that can catch
people that didn't read the docs carefully (happend to me) and cause quite message loss.