2016-08-01 74 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,这样一个大的呼叫不会超时为好。

相关问题