package rpc import ( "github.com/furryboard/spider-scheduler/pkg/conf" "github.com/furryboard/spider-scheduler/pkg/log" "github.com/furryboard/spider-scheduler/rpc/pb" "google.golang.org/grpc" "google.golang.org/grpc/credentials/insecure" "strconv" "sync" ) var ( Conn *grpc.ClientConn biliAPI pb.BiliAPIClient once sync.Once ) func SpiderCore() pb.BiliAPIClient { once.Do(InitBiliAPI) return biliAPI } func InitBiliAPI() { addr := conf.Conf.SpiderCore.Host + ":" + strconv.Itoa(int(conf.Conf.SpiderCore.Port)) Conn, err := grpc.Dial(addr, grpc.WithTransportCredentials(insecure.NewCredentials())) if err != nil { log.Logger().Fatalf("连接到RPC服务器时发生错误:%s", err) } biliAPI = pb.NewBiliAPIClient(Conn) }