添加option

This commit is contained in:
Yun
2024-04-17 19:52:43 +08:00
parent b4624245c1
commit 3354fbc57e
2 changed files with 34 additions and 32 deletions
-32
View File
@@ -18,38 +18,6 @@ type globalLock struct {
value string
}
type option struct {
lockTimeout time.Time // 锁的超时时间
}
func defaultOption() *option {
return &option{
lockTimeout: time.Minute * 10 // 默认是10分钟
}
}
var opt *option
func init() {
opt = defaultOption()
}
// 设置
func InitOption(opts ...Option) {
for _,app := range opts {
app(opt)
}
}
type Option func(*option)
func SetTimeout(t time.Time) Option {
return func(o *option) {
o.lockTimeout = t
}
}
func NewGlobalLock(ctx context.Context, red *redis.Client, uniqueKey string) *globalLock {
ctx, cancel := context.WithTimeout(ctx, opt.lockTimeout)
return &globalLock{
+34
View File
@@ -0,0 +1,34 @@
package lockx
import "time"
type option struct {
lockTimeout time.Duration // 锁的超时时间
}
func defaultOption() *option {
return &option{
lockTimeout: time.Minute * 60,
}
}
var opt *option
func init() {
opt = defaultOption()
}
// 设置
func InitOption(opts ...Option) {
for _, app := range opts {
app(opt)
}
}
type Option func(*option)
func SetTimeout(t time.Duration) Option {
return func(o *option) {
o.lockTimeout = t
}
}