绑定租约没有成功

来源:4-8 lease租约实现kv过期

慕盖茨7574701

2018-11-04

执行结果:
写入成功 21
kv过期了
感觉绑定租约没有成功

//申请租约
lease = clientv3.NewLease(client)
if leaseGrantResp,err = lease.Grant(context.TODO(),10000);err!=nil{
	fmt.Println(err)
	return
}

//拿到租约ID
leaseId = leaseGrantResp.ID

//h获得 KV API子集
kv = clientv3.NewKV(client)

//申请成功,put 一个KV,让它与租约关联起来,从而实现10后自动过期
if putResp,err = kv.Put(context.TODO(),"/cron/lock/job1","666",clientv3.WithLease(leaseId));err!=nil{
	println(err)
	return
}
fmt.Println("写入成功",putResp.Header.Revision)
//检查KEY过期了没有
for{
	if getResp,err = kv.Get(context.TODO(),"/corn/lock/job1");err != nil {
		println(err)
		return
	}
	if getResp.Count == 0{
		fmt.Println("kv过期了")
		break
	}
	fmt.Println("还没过期:",getResp.Kvs)
	time.Sleep(2*time.Second)
}
写回答

1回答

小鱼儿老师

2018-11-05

同学好,你粗心写错了一个拼写:


if getResp,err = kv.Get(context.TODO(),"/corn/lock/job1");err != nil {

0
0

Go语言开发分布式任务调度 轻松搞定高性能Crontab

分布式系统设计+高并发细节处理,一次性让你“晋级”到位

1136 学习 · 177 问题

查看课程