From 812bd2403526e266a9dc1a650eb900d90d627a4c Mon Sep 17 00:00:00 2001 From: kenneth Date: Tue, 28 Jun 2022 14:16:44 +0800 Subject: [PATCH] etcd add timeout --- pkg/etcd/discovery.go | 1 + pkg/etcd/register.go | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/pkg/etcd/discovery.go b/pkg/etcd/discovery.go index da1d94d..bdb05c3 100644 --- a/pkg/etcd/discovery.go +++ b/pkg/etcd/discovery.go @@ -49,6 +49,7 @@ func (r *Resolver) Discovery(serviceName string) (*RemoteService, error) { ctx, cancel := context.WithTimeout(context.Background(), time.Second) defer cancel() + resp, err := kv.Get(ctx, serviceName, clientV3.WithPrefix()) if err != nil { return nil, err diff --git a/pkg/etcd/register.go b/pkg/etcd/register.go index 0ead77a..bcf8726 100644 --- a/pkg/etcd/register.go +++ b/pkg/etcd/register.go @@ -36,7 +36,10 @@ func (e *Client) Close() error { // Register 注册服务 func (e *Client) Register(serviceName string, serviceAddress string) error { var err error - ctx := context.Background() + + ctx, cancel := context.WithTimeout(context.Background(), time.Second*3) + defer cancel() + e.lease, err = e.v3.Grant(ctx, int64(e.interval+1)) if err != nil { return err @@ -54,7 +57,10 @@ func (e *Client) Register(serviceName string, serviceAddress string) error { // Deregister 注销服务 func (e *Client) Deregister() error { - _, err := e.v3.Delete(context.Background(), e.serviceName) + ctx, cancel := context.WithTimeout(context.Background(), time.Second*3) + defer cancel() + + _, err := e.v3.Delete(ctx, e.serviceName) if err != nil { return err }