1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- package logstash
- import (
- "errors"
- "strconv"
- cfacade "github.com/mhaya/facade"
- "github.com/mhaya/game/game_cluster/internal/code"
- "github.com/mhaya/game/game_cluster/internal/param"
- "github.com/mhaya/game/game_cluster/internal/pb"
- clog "github.com/mhaya/logger"
- )
- // node type
- const (
- logstashType = "logstash"
- )
- // actor id
- const (
- opsActor = ".ops"
- logrecordActor = ".logrecord"
- )
- // funcName
- const (
- ping = "ping"
- handleLogRecore = "handlelog"
- )
- const (
- sourcePath = ".system"
- )
- // Ping 访问logstash节点,确认logstash已启动
- func Ping(app cfacade.IApplication) bool {
- nodeId := getLogstashNodeID(app)
- if nodeId == "" {
- return false
- }
- rsp := &pb.Bool{}
- targetPath := nodeId + opsActor
- errCode := app.ActorSystem().CallWait(sourcePath, targetPath, ping, nil, rsp)
- if code.IsFail(errCode) {
- return false
- }
- return rsp.Value
- }
- func HandleLogRecord(app cfacade.IApplication, req *param.HandleLogReq) error {
- targetPath := getTargetPath(app, logrecordActor)
- errCode := app.ActorSystem().CallWait(sourcePath, targetPath, handleLogRecore, req, nil)
- if code.IsFail(errCode) {
- clog.Warnf("[HandleLogRecord] errCode = %v", errCode)
- return errors.New(strconv.FormatInt(int64(errCode), 10))
- }
- return nil
- }
- func getLogstashNodeID(app cfacade.IApplication) string {
- list := app.Discovery().ListByType(logstashType)
- if len(list) > 0 {
- return list[0].GetNodeId()
- }
- return ""
- }
- func getTargetPath(app cfacade.IApplication, actorID string) string {
- nodeId := getLogstashNodeID(app)
- return nodeId + actorID
- }
|