Controlling Socket Timeouts in boto

All of the APIs that boto uses to communicate with cloud services are HTTP-based. That means that under the covers we are communicating over sockets to distributed services. Sometimes these services can be unresponsive or the communication layer between our application and the service can be unreliable. To help manage this in a reasonable way, timeouts are important. They allow our application to detect a problem with the network or a service and attempt to deal with it, or at least tell the user about it.

You can explicitly manage socket-level timeouts in boto by adding a section to your boto config file. The timeout is specified in seconds:

[Boto]
http_socket_timeout = 5