17 lines
449 B
Go
17 lines
449 B
Go
package global
|
||
|
||
import (
|
||
"context"
|
||
"time"
|
||
)
|
||
|
||
// 生成一个超时时间为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)
|
||
}
|