Improved connection handling including pushing the timeout checking into socket_connect. Reduced default timeout to 250ms from 2s. We found 2s to be disasterous in production. By removing the looping connection attempts, only one connect will be tried before the function will return failure. This keeps the CPU spike problem from happening that some have seen with large timeouts and downed servers.
Moved connection logic to use JIT connecting instead of connecting to all servers on every usage. This reduced some of our connection work load by 40%. Improved the status retrieval and simpliifed how server connections are stored and used by the code. Created a static to get an instance to reduce boiler plate code used over and over in our code base.
The response can be empty during shut down. We don't need to proceed in those cases.
Updating doc comments on remaining files
Remove DealNews Logger and StatsD calls