Closed alexbyrnes closed 8 years ago
Are you calling the delivery.ack somewhere else?
It gets called in the subscriber aka wake.
msgs, err := mq.Receive()
failOnError(err, "Failed to register a consumer")
forever := make(chan bool)
go func() {
for d := range msgs {
// some stuff
d.Ack(false)
}
}()
And that is code is not here?
The code that wake is using is this one: https://github.com/coralproject/pillar/blob/master/app/wake/listener/listener.go
right?
yes that's a good point. I didn't realize there was a copy in pillar too
We should either delete this if it didn't fix the issue, or go ahead and merge it. I'll move to Backlog for now.
Closing as unneeded.
What does this PR do?
Turns off auto ack. The library we're using has a memory problem caused by auto ack.
https://github.com/streadway/amqp/issues/149
How do I test this PR?
publish events to rabbitmq from pillar and consume them in another service using pillar's amqp.go. You should see publishes, delivers, and acks. You shouldn't see any no "Deliver (noack)" in the rabbitmq admin console (http://localhost:15672/ if you're running it locally).
@coralproject/backend