2016-08-01 111 views
0

我收到一個異常:「TransportError:TransportError(0):('Connection aborted。',error(110,'Connection timed out'))」當我調用api :Virtual_Guest :: getBandwidthTotal。Softlayer API - 調用softlayer api時發生異常

這事發生在這種情況:

  1. 一個相同 SOFTLAYER-API的用戶名和密鑰

  2. 我打電話的功能同時千倍在一個時刻。

所以我不知道由於「巨大的併發api調用」或僅僅是網絡問題或其他原因而發生異常。

因爲「巨大的併發API的召喚」如果它的原因,這裏是一個額外的問題:

正如我說之前,我叫一個相同的用戶名和密鑰,如果我不同的用戶名和密鑰同時呼籲,這種異常會發生嗎?

回答

1

當客戶端正在等待API的響應時,通常會生成超時錯誤,這種情況記錄在here中,如果您使用Softlayer Python客戶端,您可以嘗試增加客戶端的超時時間請參閱文檔以增加超時here,並且請檢查您的網絡連接是否正常。

問候

0

上有能夠由每秒一個帳戶進行的API調用的數量的限制。我相信這個限制是每個用戶名,但我不建議使用一堆不同的用戶來繞過這個限制。

我的建議是使用objectMask在一次API調用中獲取儘可能多的數據,而不是進行大量的api調用。

與其說Virtual_Guest :: getBandwidthTotal對帳戶中每個虛擬客戶,你可以調用

SoftLayer_Account::getVirtualGuests(mask="mask[inboundPrivateBandwidthUsage,inboundPublicBandwidthUsage,outboundPrivateBandwidthUsage,outboundPublicBandwidthUsage]") 

您可能還需要使用result Limits,這樣一個大的呼叫不會超時爲好。

相關問題