mirror of
https://github.com/crawlab-team/crawlab.git
synced 2026-01-22 17:31:03 +01:00
40 lines
745 B
Go
40 lines
745 B
Go
package msg_handler
|
|
|
|
import (
|
|
"crawlab/constants"
|
|
"crawlab/database"
|
|
"crawlab/model"
|
|
"crawlab/utils"
|
|
"encoding/json"
|
|
"github.com/apex/log"
|
|
"runtime/debug"
|
|
)
|
|
|
|
type SystemInfo struct {
|
|
msg NodeMessage
|
|
}
|
|
|
|
func (s *SystemInfo) Handle() error {
|
|
// 获取环境信息
|
|
sysInfo, err := model.GetLocalSystemInfo()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
msgSd := NodeMessage{
|
|
Type: constants.MsgTypeGetSystemInfo,
|
|
NodeId: s.msg.NodeId,
|
|
SysInfo: sysInfo,
|
|
}
|
|
msgSdBytes, err := json.Marshal(&msgSd)
|
|
if err != nil {
|
|
log.Errorf(err.Error())
|
|
debug.PrintStack()
|
|
return err
|
|
}
|
|
if _, err := database.RedisClient.Publish("nodes:master", utils.BytesToString(msgSdBytes)); err != nil {
|
|
log.Errorf(err.Error())
|
|
return err
|
|
}
|
|
return nil
|
|
}
|