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

RabbitMQ has open connections(Too many File descriptors piling up on broker) for publish #527

Open
raj-githubacc opened this issue Apr 13, 2022 · 1 comment

Comments

@raj-githubacc
Copy link

Hi, We're using amqp library to publish messages to a Queue, We've encountered 2 issues here

  1. Same connection cannot be reused if we try to publish via goroutines. An error 504 connection/channel closed is returned.
  2. As a hotfix, we're creating new connections for each publish, but here somehow the connection destructor is not working and RabbitMQ node still has the connection channel opened. As a result too many file descriptors are being piled and node goes down.

Would appreciate any help/pointers

@ingfdoaguirre
Copy link

Hi, you can use this library https://github.com/houseofcat/turbocookedrabbit, I had the same problem as yours.

There you can create a "pool" of connections, so in your case, also mine, if there are no connections to handle your request, this library will create a new one and will close it if will never used again.

You can declare the max number of connections and channels to start in the pool.

I had an endpoint that ,in some cases, receives like 1k of requests per second, with vanilla library I got the same error, and is because the connection get saturated. With the library turbocookedrabbit I had no more problems.

ps: Internally uses this library to handle the basic logic.

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