Closed BirknerAlex closed 9 years ago
The error RabbitMQ reports has nothing to do with timeouts. It means that a channel id that is currently in use was "opened".
Has been discussed numerous times before on the list, and in issues (which we do not use for questions). Timeout.timeout
starts a new thread for every invocation. Bunny itself has recently gotten rid of Timeout
because it has multiple issues well covered elsewhere.
Also worth pointing out: timeout of 300 ms is not particularly high. If you run into an alarm or flow control (which is temporary but can last for a 100-200 ms), there you have it.
Hello,
I'm running a Rails application. I have a scheduler class which is singleton and shared by the puma workers. This instance has one Bunny::Session instance which is also shared.
Every request get's it own channel because your documentation explains it should not been shared among theads.
This errors are coming randomly:
Connection-level error: CHANNEL_ERROR - expected 'channel.open' Connection-level error: COMMAND_INVALID - second 'channel.open' seen Timeout::Error: execution expired
I've attached one stacktrace for you:
I've also attached the scheduler class, maybe someone have a idea how I can solve this issue?