[英]How do we minimise the timeout when using Google Cloud PubSub Client Library for php?
今晚我們從谷歌那里得到了這些例外:
Google\\Cloud\\Core\\Exception\\ServiceException:cURL 錯誤 56:OpenSSL SSL_read:SSL_ERROR_SYSCALL,errno 104(參見http://curl.haxx.se/libcurl/c/libcurl-errors.html )
Google\\Cloud\\Core\\Exception\\ServiceException(代碼:0):cURL 錯誤 7:無法連接到 oauth2.googleapis.com 端口 443:連接超時(請參閱http://curl.haxx.se/libcurl/c/ libcurl-errors.html )
Google\\Cloud\\Core\\Exception\\ServiceException(代碼:0):cURL 錯誤 28:操作在 2001 毫秒后超時,收到 0 個字節(參見http://curl.haxx.se/libcurl/c/libcurl-errors.html )
我們可以很好地處理異常,但是在連接啟動和異常發生之間存在明顯的超時。 這意味着我們的服務器在向 Google 發起請求時會長時間掛起,等待連接正確創建,失敗,然后繼續。 這意味着我們的請求花費了大量的時間(大約 20 秒 - 大約 3 分鍾)而不是毫秒。
所以:
我們正在使用 PHP PubSubClient,特別是目前僅使用publish
方法。
我相信這可以通過以下方式解決:
$pubsub->publish(
[
'data' => $data,
'attributes' => $attributes,
],
[
'requestTimeout' => 2 // Set your own value here (in seconds)
]
);
這似乎被轉化為引擎蓋下的 Guzzle 選項。
查看\\Google\\Cloud\\Core\\RestTrait::send
了解更多信息
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.