[LRUG] Making Rails time out
rob.anderson at paymentcardsolutions.co.uk
Fri Apr 19 07:07:58 PDT 2013
I have a weird requirement and I can't seem to figure out how to fulfill it using Rails.
We provide a number of web services to third parties. As part of their testing and accreditation with us they need to execute a variety of test cases.
Some of the key test conditions involve making sure that exceptions are correctly handled. So if for example they call one of our services and we return a 500 system exception, they handle this gracefully.
One of the test cases we have come up with is what happens if our service just fails to respond at all - eg we accept the connection and then leave them hanging waiting for a response. This should raise a client timeout and they should handle it appropriately.
But it s not at all clear how to achieve this in our test system. I could put in some monster sleep command, but I don't really want to block the process - ideally I just want to tell ActionController: forget it, your work is done.
I suspect maybe this is very difficult / impossible because Apache / Passenger would also need to be told to stand down, but I don't know. Can't find anything on Google either.
Perhaps this is just an insane test case - but I know I have seen plenty of instances of this happening in the real world when we call other people's web services, so it would be good to be able to simulate it.
Any thoughts gratefully received
More information about the Chat