32 lines
753 B
Go
32 lines
753 B
Go
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)
|
||
}
|