mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
etcdctl: add ttl flag for lock command
This commit is contained in:
parent
366f5381e0
commit
9c21eefd09
@ -832,10 +832,14 @@ echo ${transferee_id}
|
||||
|
||||
## Concurrency commands
|
||||
|
||||
### LOCK \<lockname\> [command arg1 arg2 ...]
|
||||
### LOCK [options] \<lockname\> [command arg1 arg2 ...]
|
||||
|
||||
LOCK acquires a distributed named mutex with a given name. Once the lock is acquired, it will be held until etcdctl is terminated.
|
||||
|
||||
#### Options
|
||||
|
||||
- ttl - time out in seconds of lock session.
|
||||
|
||||
#### Output
|
||||
|
||||
Once the lock is acquired, the result for the GET on the unique lock holder key is displayed.
|
||||
|
@ -28,6 +28,8 @@ import (
|
||||
"golang.org/x/net/context"
|
||||
)
|
||||
|
||||
var lockTTL = 10
|
||||
|
||||
// NewLockCommand returns the cobra command for "lock".
|
||||
func NewLockCommand() *cobra.Command {
|
||||
c := &cobra.Command{
|
||||
@ -35,6 +37,7 @@ func NewLockCommand() *cobra.Command {
|
||||
Short: "Acquires a named lock",
|
||||
Run: lockCommandFunc,
|
||||
}
|
||||
c.Flags().IntVarP(&lockTTL, "ttl", "", lockTTL, "timeout for session")
|
||||
return c
|
||||
}
|
||||
|
||||
@ -49,7 +52,7 @@ func lockCommandFunc(cmd *cobra.Command, args []string) {
|
||||
}
|
||||
|
||||
func lockUntilSignal(c *clientv3.Client, lockname string, cmdArgs []string) error {
|
||||
s, err := concurrency.NewSession(c)
|
||||
s, err := concurrency.NewSession(c, concurrency.WithTTL(lockTTL))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user