Merge branch 'refs/heads/feat-knowledgebase'
This commit is contained in:
commit
17fc4c6001
|
|
@ -290,11 +290,12 @@ func SelectKBaseContentByQuery(imCtx *proto.IMParamContext, data *proto.WSMessag
|
|||
//先查看改知识库是否已经创建
|
||||
key := fmt.Sprintf("kbase_%s", kbase.UUID)
|
||||
KBaseServerID := worker.GetRedis(key)
|
||||
//若未分配
|
||||
//若未分配,从可用的知识库服务器中进行分配
|
||||
setKey := "kbase_server_id_set_is_available" //可用状态集合
|
||||
if KBaseServerID == "" {
|
||||
KBaseServerSet := "kbase_server_id_set"
|
||||
//KBaseServerSet := "kbase_server_id_set"
|
||||
//进行分配
|
||||
KBaseServerID = worker.GetRedisSetRandomMember(KBaseServerSet)
|
||||
KBaseServerID = worker.GetRedisSetRandomMember(setKey)
|
||||
if KBaseServerID == "" {
|
||||
return errors.New("no kbase server id")
|
||||
}
|
||||
|
|
@ -302,7 +303,6 @@ func SelectKBaseContentByQuery(imCtx *proto.IMParamContext, data *proto.WSMessag
|
|||
res := worker.SetRedisWithExpire(key, KBaseServerID, time.Hour*24*7)
|
||||
log.Println("分配的知识库服务器ID:", KBaseServerID, "\t key:", key, "\tset:", res)
|
||||
}
|
||||
setKey := "kbase_server_id_set_is_available" //可用状态集合
|
||||
//查看KBaseServerID是否可用
|
||||
isAvailable := worker.SetRedisSetIsMember(setKey, KBaseServerID)
|
||||
if isAvailable == false {
|
||||
|
|
@ -313,14 +313,14 @@ func SelectKBaseContentByQuery(imCtx *proto.IMParamContext, data *proto.WSMessag
|
|||
reqChanel := fmt.Sprintf("kbase_server_id_%s", KBaseServerID) // 频道名称
|
||||
reqStr, _ := json.Marshal(req)
|
||||
//将消息转发到对应频道
|
||||
worker.Publish(reqChanel, string(reqStr), time.Second*60)
|
||||
worker.Publish(reqChanel, string(reqStr), time.Minute*3)
|
||||
|
||||
chanel := fmt.Sprintf("kbase_%s", kbase.UUID) //获取返回消息频道
|
||||
pubsub := worker.RedisClient.Subscribe(context.Background(), chanel)
|
||||
defer pubsub.Close()
|
||||
ch := pubsub.Channel()
|
||||
//1min定时器,超时则返回错误
|
||||
timer := time.NewTimer(time.Second * 30)
|
||||
timer := time.NewTimer(time.Minute * 3)
|
||||
var resp proto.KnowledgeBaseServerResponse
|
||||
select {
|
||||
case m := <-ch:
|
||||
|
|
|
|||
Loading…
Reference in New Issue