diff --git a/lockx.go b/lockx.go index cf82215..bf70bc4 100644 --- a/lockx.go +++ b/lockx.go @@ -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{ diff --git a/options.go b/options.go new file mode 100644 index 0000000..c1ffefe --- /dev/null +++ b/options.go @@ -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 + } +}