我在PHP应用程序中使用AWS SNS服务将消息发送到队列。
如果互联网连接中断,应用程序应该继续运行而不编写消息。但是在队列上发布消息的方法有一个很长的超时,它使应用程序无法使用互联网。
我在AWS SDK中找不到任何可以设置较小超时的地方。 有没有办法做到这一点?
以下是snsClient对象的构造示例。
我编辑了params以使用http超时,因为@Anthony Neace告诉我,我也尝试使用request.options connect_timeout,因为我在这里找到了http://docs.aws.amazon.com/aws-sdk-php/v2/guide/configuration.html
我已经改变了PC的网关,以模拟互联网何时关闭,我得到了例外 [curl] 28:在3000毫秒后解决超时问题https://sns.sa-east-1.amazonaws.com/
use Aws\Sns\SnsClient;
SnsClient::factory([
'version' => '...',
'region' => '...',
'credentials' => [
'key' => '...',
'secret' => '...',
],
'http' => [
'timeout' => 5
],
'request.options' => [
'connect_timeout' => 5
]
]);
答案 0 :(得分:3)