refactor(context):改进超时上下文的生成。

This commit is contained in:
徐涛
2022-09-16 05:38:44 +08:00
parent 92e8d312dd
commit cb2908435a
3 changed files with 22 additions and 17 deletions

View File

@@ -5,6 +5,12 @@ import (
"time"
)
func TimeoutContext(timeout time.Duration) (context.Context, context.CancelFunc) {
// 生成一个超时时间为5秒的倍率的上下文如果不传递任何值默认生成6倍的上下文即超时时间为30秒。
func TimeoutContext(multiply ...int64) (context.Context, context.CancelFunc) {
var ratio int64 = 6
if len(multiply) > 0 {
ratio = multiply[0]
}
timeout := time.Duration(ratio*5) * time.Second
return context.WithTimeout(context.Background(), timeout)
}