You’re welcome Jon!
Yea, it makes more sense after seeing AsyncHandler used, it’s an artifact of how we structured consumers at bitly.
I actually realized you still might have one additional hurdle to overcome for your use case w/ go-nsq.
go-nsq doesn’t support the concept of “skipping backoff” - so when you explicitly requeue your message for the purpose of handling later what’s going to end up happening is that go-nsq will slow down the rate of ingestion exponentially.
You don’t want this :)
This is actually a missing feature in go-nsq (pynsq, for example, has this capability).
Since I’m in the process of doing some refactoring, I’m going to add this to the pull request I mentioned earlier.