if not @api_client
@client_mtx.synchronize do
@api_client = HTTPClient.new
+ @api_client.ssl_config.timeout = Rails.configuration.api_client_connect_timeout
+ @api_client.connect_timeout = Rails.configuration.api_client_connect_timeout
+ @api_client.receive_timeout = Rails.configuration.api_client_receive_timeout
if Rails.configuration.arvados_insecure_https
@api_client.ssl_config.verify_mode = OpenSSL::SSL::VERIFY_NONE
else
# Ask Arvados API server to compress its response payloads.
api_response_compression: true
+ # Timeouts for API requests.
+ api_client_connect_timeout: 120
+ api_client_receive_timeout: 300
+
# ShellInABox service endpoint URL for a given VM. If false, do not
# offer web shell logins.
#