ソフトウェア開発において、タイムアウトは、プログラムが応答を待っている間に無期限にブロックされるのを防ぎます。タイムアウトを設定しないと、リソースを浪費したり、システムがクラッシュしたりする危険性があります。タイムアウトが短すぎると、タスクが完了する前に中断され、通常の機能に影響を与える可能性があります。適切に構成されたタイムアウトは、システムの安定性とユーザーエクスペリエンスを向上させます。この Topic では、V2.0 Go SDK のタイムアウトを設定する方法について説明します。
タイムアウトの設定方法
説明
タイムアウト設定は、RuntimeOptions、Config、デフォルト設定の順に、優先度が高いものから適用されます。
デフォルト設定を使用します。接続リクエストのデフォルトのタイムアウト期間は 5,000 ミリ秒、読み取りリクエストのデフォルトのタイムアウト期間は 10,000 ミリ秒です。
RuntimeOptions を使用して、現在のリクエストのタイムアウトを設定します。
import ( util "github.com/alibabacloud-go/tea-utils/v2/service" ) runtime := &util.RuntimeOptions{} // タイムアウトパラメーターを設定します。単位: ms。 runtime.ConnectTimeout = tea.Int(5000) // 接続タイムアウトを 5 秒に設定します。 runtime.ReadTimeout = tea.Int(10000) // 読み取りタイムアウトを 10 秒に設定します。Config を使用してグローバルタイムアウトを設定します。
import ( openapi "github.com/alibabacloud-go/darabonba-openapi/v2/client" ) config := &openapi.Config{ // タイムアウトパラメーターを設定します。単位: ms。 ConnectTimeout: tea.Int(5000), // 接続タイムアウト ReadTimeout: tea.Int(10000), // 読み取りタイムアウト }