logging
parent
6cb66ad400
commit
af58edff0d
|
@ -2,6 +2,7 @@ package logger
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"jannex/robot-control-manager/modules/utils"
|
||||||
|
|
||||||
"git.ex.umbach.dev/Alex/roese-utils/rslogger"
|
"git.ex.umbach.dev/Alex/roese-utils/rslogger"
|
||||||
"github.com/gofiber/fiber/v2"
|
"github.com/gofiber/fiber/v2"
|
||||||
|
@ -13,8 +14,16 @@ func AddSystemLog(format string, v ...any) {
|
||||||
Logs: []string{"I " + rslogger.GetTime() + fmt.Sprintf(format, v...)}})
|
Logs: []string{"I " + rslogger.GetTime() + fmt.Sprintf(format, v...)}})
|
||||||
}
|
}
|
||||||
|
|
||||||
func AddRexLog(rexId, format string, v ...any) {
|
func AddRobotLog(robotType uint8, robotId string, format string, v ...any) {
|
||||||
|
var logType string
|
||||||
|
|
||||||
|
if robotType == utils.RobotTypeRex {
|
||||||
|
logType = "rex"
|
||||||
|
} else {
|
||||||
|
logType = "yeet"
|
||||||
|
}
|
||||||
|
|
||||||
go rslogger.LogManagerRequestClient(fiber.MethodPost, rslogger.LogManagerRequestBody{
|
go rslogger.LogManagerRequestClient(fiber.MethodPost, rslogger.LogManagerRequestBody{
|
||||||
Type: "rex-" + rexId,
|
Type: logType + "-" + robotId,
|
||||||
Logs: []string{"I " + rslogger.GetTime() + fmt.Sprintf(format, v...)}})
|
Logs: []string{"I " + rslogger.GetTime() + fmt.Sprintf(format, v...)}})
|
||||||
}
|
}
|
||||||
|
|
|
@ -103,6 +103,13 @@ func ProcessJobTask(r *structs.Robot, jobId string, jobName string) {
|
||||||
|
|
||||||
for r.CurrentJobId != "" && r.CurrentJobId != jobId {
|
for r.CurrentJobId != "" && r.CurrentJobId != jobId {
|
||||||
// wait for current job to finish
|
// wait for current job to finish
|
||||||
|
|
||||||
|
if r.Status == utils.RobotStatusOffline {
|
||||||
|
log.Info().Msgf("Robot %s offline. Job with id %s and name %s canceled", r.Name, jobId, jobName)
|
||||||
|
logger.AddRobotLog(r.Type, r.Id, "Job with id %s and name %s canceled", jobId, jobName)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
fmt.Println("job is processing", r.CurrentJobId, jobId, r.JobsWaitingCount)
|
fmt.Println("job is processing", r.CurrentJobId, jobId, r.JobsWaitingCount)
|
||||||
time.Sleep(2 * time.Second)
|
time.Sleep(2 * time.Second)
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,7 @@ package control
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"jannex/robot-control-manager/modules/cache"
|
"jannex/robot-control-manager/modules/cache"
|
||||||
|
"jannex/robot-control-manager/modules/logger"
|
||||||
"jannex/robot-control-manager/modules/request"
|
"jannex/robot-control-manager/modules/request"
|
||||||
"jannex/robot-control-manager/modules/robot"
|
"jannex/robot-control-manager/modules/robot"
|
||||||
"jannex/robot-control-manager/modules/structs"
|
"jannex/robot-control-manager/modules/structs"
|
||||||
|
@ -60,12 +61,14 @@ func ControlRex(c *fiber.Ctx) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
if r.Status != utils.RobotStatusIdle && r.Status != utils.RobotStatusRunning {
|
if r.Status != utils.RobotStatusIdle && r.Status != utils.RobotStatusRunning {
|
||||||
|
return c.JSON(structs.StatusResponse{Status: utils.ResponseStatusError})
|
||||||
}
|
}
|
||||||
|
|
||||||
robot.ProcessJobTask(r, body.JobId, body.JobName)
|
robot.ProcessJobTask(r, body.JobId, body.JobName)
|
||||||
robot.UpdateRobotStatus(r, utils.RobotStatusRunning)
|
robot.UpdateRobotStatus(r, utils.RobotStatusRunning)
|
||||||
|
|
||||||
|
logger.AddRobotLog(utils.RobotTypeRex, r.Id, "Control robot with task: %v", rsutils.MarshalJson(body.Task))
|
||||||
|
|
||||||
if err := request.Request(fiber.MethodPost, r.Address+":5000/api/v1/control", body.Task); err != nil {
|
if err := request.Request(fiber.MethodPost, r.Address+":5000/api/v1/control", body.Task); err != nil {
|
||||||
return c.JSON(structs.StatusResponse{Status: utils.ResponseStatusError})
|
return c.JSON(structs.StatusResponse{Status: utils.ResponseStatusError})
|
||||||
}
|
}
|
||||||
|
|
|
@ -111,7 +111,7 @@ func FirstRequest(c *fiber.Ctx) error {
|
||||||
|
|
||||||
addRobotSSEMessage(&newRobot)
|
addRobotSSEMessage(&newRobot)
|
||||||
|
|
||||||
logger.AddSystemLog("Robot connected with id %v and type %v", body.Id, utils.GetRobotTypeString(body.Type))
|
logger.AddRobotLog(newRobot.Type, newRobot.Id, "Robot connected")
|
||||||
}
|
}
|
||||||
|
|
||||||
return c.JSON(structs.StatusResponse{Status: utils.ResponseStatusOk})
|
return c.JSON(structs.StatusResponse{Status: utils.ResponseStatusOk})
|
||||||
|
|
|
@ -42,7 +42,7 @@ for i in range(1):
|
||||||
RexRobot("762")
|
RexRobot("762")
|
||||||
RexRobot("763")
|
RexRobot("763")
|
||||||
RexRobot("764")
|
RexRobot("764")
|
||||||
RexRobot("765")
|
RexRobot("770")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -69,4 +69,4 @@ def ping():
|
||||||
return jsonify({'status': 'ok'})
|
return jsonify({'status': 'ok'})
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
app.run(debug=False, port=5003)
|
app.run(debug=False, port=5000)
|
Loading…
Reference in New Issue