Skip to content
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

consumer: msg.command() error handling #172

Closed
yields opened this issue Mar 28, 2016 · 2 comments
Closed

consumer: msg.command() error handling #172

yields opened this issue Mar 28, 2016 · 2 comments

Comments

@yields
Copy link

yields commented Mar 28, 2016

Is there a way to handle nsqd responses to msg.Touch(), msg.Requeue() etc..?

I have a worker that polls a resource and calls msg.Touch() to indicate work is still being done, but i've seen some logs like E_TOUCH_FAILED TOUCH 09d43c267ec2a069 failed ID not in flight, is there a way to detect that a message is not in-flight and discard it?

@twmb
Copy link
Contributor

twmb commented Mar 28, 2016

The message isn't in-flight because either it timed out inside nsqd and was requeued or you finished it elsewhere. There's no way to detect these failures between nsqd and go-nsq; additionally, nsqd doesn't send this type of status message back to go-nsqd.

It sounds like you might need to either reduce the interval before calling Touch or increase the msg timeout inside nsqd.

@yields
Copy link
Author

yields commented Mar 28, 2016

got it, thanks!

@yields yields closed this as completed Mar 28, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants