Skip to content

Add NewAmqpCosnumer func#10

Merged
icevl merged 2 commits into
mainfrom
fix/new-amqp-consumer
Oct 23, 2025
Merged

Add NewAmqpCosnumer func#10
icevl merged 2 commits into
mainfrom
fix/new-amqp-consumer

Conversation

@cyberfined

Copy link
Copy Markdown
Contributor

I've added new function to amqp package called NewAmqpConsumer. It's a replacement for StartAmqpConsumer that has one problem - it never returns a value, because it calls cosumer.Run method that starts an infinite loop of message processing, so graceful shutdown is impossible for such a consumer.

@cyberfined cyberfined self-assigned this Oct 21, 2025
@cyberfined

Copy link
Copy Markdown
Contributor Author

Example:

var consumer *rabbitmq.Consumer
go func() {
    consumer = amqp.StartAmqpConsumer(conn, handler, key, queue)
}

// Some code here

consumer.Close()

Traceback:

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x60 pc=0xf5048b2]

goroutine 9 [running]:
github.com/wagslane/go-rabbitmq.(*Consumer).Close(0x0?)
	/Users/user/go/pkg/mod/github.com/wagslane/go-rabbitmq@v0.14.2/consume.go:125 +0x12

It happens because consumer always equals to nil

@icevl icevl merged commit 44bcc9d into main Oct 23, 2025
2 checks passed
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

Successfully merging this pull request may close these issues.

2 participants