bunny
bunny copied to clipboard
Fix drop connection by RabbitMQ
Fix if RabbitMQ closed the connection due to incorrect login/password. Similar problems in here issues: Change state to error when ClientException is throw #115 or Failing connections cause exceptions thrown outside of Promise #74 or ClientException #59
Thank you for filing this PR, could you rebase on the latest changes in master now that #106, and do you think it is possible to test this?
I tested on my test server and now works on the production server
@viras777 Thanks for the update. Any clue what it fails for certain jobs?
In the function awaitConnectionTune I added interception of all exceptions to be able to process in reject. like this: Connection = (new Client())->connect()->then()->otherwise();
Because of this, the tests do not pass, they expect another type of exception
Sometimes there are missed hearbeats with an error on the rabbitmq server: "missing heartbeats from client, timeout: 60s" and bunny take 100 CPU for a while. This happens when $nextStreamSelectTimeout < $ now < $ stopTime For example call method run(1) and wait 60s