Closed laroque closed 9 years ago
In particular, right now if the ethernet repeater reconnects, the repeater provider hangs waiting for a response that will never come.
I always do this... (ie create some comprehensive issue then close it when the first bit is done).... which I'm doing again. Connection.send_request() now supports timeouts. The above cases are all still valid and it would be nice to handle them more gracefully. Each should be its own feature requesting issue; all are being kicked to less urgent for now.
While services are now able to automatically reconnect if the connection to AMQP breaks, there are a few scenarios in which a request may never receive a response:
The simplest solution is a hard timeout (maybe 10 seconds?) requiring a reply within that time. If not reply is received, assume none is coming and raise an exception or otherwise respond. A more sophisticated solution depends on the situation (see cases above and should be implemented on top of a timeout, so that it can still catch others).
This isn't great, since it is hard to know what a reasonable timeout should really be.