23 lines
361 B
Go
23 lines
361 B
Go
|
package tools
|
||
|
|
||
|
import (
|
||
|
"context"
|
||
|
"time"
|
||
|
)
|
||
|
|
||
|
func Timeout(seconds ...int) (ctx context.Context) {
|
||
|
var (
|
||
|
duration time.Duration
|
||
|
)
|
||
|
|
||
|
if len(seconds) > 0 && seconds[0] > 0 {
|
||
|
duration = time.Duration(seconds[0]) * time.Second
|
||
|
} else {
|
||
|
duration = time.Duration(30) * time.Second
|
||
|
}
|
||
|
|
||
|
ctx, _ = context.WithTimeout(context.Background(), duration)
|
||
|
|
||
|
return
|
||
|
}
|