fix(node): enqueue task for GetNodeCountry only if city or country is empty
This commit is contained in:
parent
b6a2f134bb
commit
be7cdcd4a6
@ -104,23 +104,26 @@ func (l *CreateNodeLogic) CreateNode(req *types.CreateNodeRequest) error {
|
|||||||
return errors.Wrapf(xerr.NewErrCode(xerr.DatabaseInsertError), "create server error: %v", err)
|
return errors.Wrapf(xerr.NewErrCode(xerr.DatabaseInsertError), "create server error: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Marshal the task payload
|
if req.City == "" || req.Country == "" {
|
||||||
payload, err := json.Marshal(queue.GetNodeCountry{
|
// Marshal the task payload
|
||||||
Protocol: serverInfo.Protocol,
|
payload, err := json.Marshal(queue.GetNodeCountry{
|
||||||
ServerAddr: serverInfo.ServerAddr,
|
Protocol: serverInfo.Protocol,
|
||||||
})
|
ServerAddr: serverInfo.ServerAddr,
|
||||||
if err != nil {
|
})
|
||||||
l.Errorw("[GetNodeCountry]: Marshal Error", logger.Field("error", err.Error()))
|
if err != nil {
|
||||||
return errors.Wrap(xerr.NewErrCode(xerr.ERROR), "Failed to marshal task payload")
|
l.Errorw("[GetNodeCountry]: Marshal Error", logger.Field("error", err.Error()))
|
||||||
|
return errors.Wrap(xerr.NewErrCode(xerr.ERROR), "Failed to marshal task payload")
|
||||||
|
}
|
||||||
|
// Create a queue task
|
||||||
|
task := asynq.NewTask(queue.ForthwithGetCountry, payload)
|
||||||
|
// Enqueue the task
|
||||||
|
taskInfo, err := l.svcCtx.Queue.Enqueue(task)
|
||||||
|
if err != nil {
|
||||||
|
l.Errorw("[GetNodeCountry]: Enqueue Error", logger.Field("error", err.Error()), logger.Field("payload", string(payload)))
|
||||||
|
return errors.Wrap(xerr.NewErrCode(xerr.ERROR), "Failed to enqueue task")
|
||||||
|
}
|
||||||
|
l.Infow("[GetNodeCountry]: Enqueue Success", logger.Field("taskID", taskInfo.ID), logger.Field("payload", string(payload)))
|
||||||
}
|
}
|
||||||
// Create a queue task
|
|
||||||
task := asynq.NewTask(queue.ForthwithGetCountry, payload)
|
|
||||||
// Enqueue the task
|
|
||||||
taskInfo, err := l.svcCtx.Queue.Enqueue(task)
|
|
||||||
if err != nil {
|
|
||||||
l.Errorw("[GetNodeCountry]: Enqueue Error", logger.Field("error", err.Error()), logger.Field("payload", string(payload)))
|
|
||||||
return errors.Wrap(xerr.NewErrCode(xerr.ERROR), "Failed to enqueue task")
|
|
||||||
}
|
|
||||||
l.Infow("[GetNodeCountry]: Enqueue Success", logger.Field("taskID", taskInfo.ID), logger.Field("payload", string(payload)))
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,15 +5,15 @@ import (
|
|||||||
"encoding/json"
|
"encoding/json"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/perfect-panel/server/pkg/device"
|
|
||||||
|
|
||||||
"github.com/hibiken/asynq"
|
"github.com/hibiken/asynq"
|
||||||
|
"github.com/perfect-panel/server/pkg/device"
|
||||||
|
queue "github.com/perfect-panel/server/queue/types"
|
||||||
|
|
||||||
"github.com/perfect-panel/server/internal/svc"
|
"github.com/perfect-panel/server/internal/svc"
|
||||||
"github.com/perfect-panel/server/internal/types"
|
"github.com/perfect-panel/server/internal/types"
|
||||||
"github.com/perfect-panel/server/pkg/logger"
|
"github.com/perfect-panel/server/pkg/logger"
|
||||||
"github.com/perfect-panel/server/pkg/tool"
|
"github.com/perfect-panel/server/pkg/tool"
|
||||||
"github.com/perfect-panel/server/pkg/xerr"
|
"github.com/perfect-panel/server/pkg/xerr"
|
||||||
queue "github.com/perfect-panel/server/queue/types"
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -113,24 +113,26 @@ func (l *UpdateNodeLogic) UpdateNode(req *types.UpdateNodeRequest) error {
|
|||||||
return errors.Wrapf(xerr.NewErrCode(xerr.DatabaseInsertError), "create server error: %v", err)
|
return errors.Wrapf(xerr.NewErrCode(xerr.DatabaseInsertError), "create server error: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Marshal the task payload
|
if req.City == "" || req.Country == "" {
|
||||||
payload, err := json.Marshal(queue.GetNodeCountry{
|
// Marshal the task payload
|
||||||
Protocol: nodeInfo.Protocol,
|
payload, err := json.Marshal(queue.GetNodeCountry{
|
||||||
ServerAddr: nodeInfo.ServerAddr,
|
Protocol: nodeInfo.Protocol,
|
||||||
})
|
ServerAddr: nodeInfo.ServerAddr,
|
||||||
if err != nil {
|
})
|
||||||
l.Errorw("[GetNodeCountry]: Marshal Error", logger.Field("error", err.Error()))
|
if err != nil {
|
||||||
return errors.Wrap(xerr.NewErrCode(xerr.ERROR), "Failed to marshal task payload")
|
l.Errorw("[GetNodeCountry]: Marshal Error", logger.Field("error", err.Error()))
|
||||||
|
return errors.Wrap(xerr.NewErrCode(xerr.ERROR), "Failed to marshal task payload")
|
||||||
|
}
|
||||||
|
// Create a queue task
|
||||||
|
task := asynq.NewTask(queue.ForthwithGetCountry, payload)
|
||||||
|
// Enqueue the task
|
||||||
|
taskInfo, err := l.svcCtx.Queue.Enqueue(task)
|
||||||
|
if err != nil {
|
||||||
|
l.Errorw("[GetNodeCountry]: Enqueue Error", logger.Field("error", err.Error()), logger.Field("payload", string(payload)))
|
||||||
|
return errors.Wrap(xerr.NewErrCode(xerr.ERROR), "Failed to enqueue task")
|
||||||
|
}
|
||||||
|
l.Infow("[GetNodeCountry]: Enqueue Success", logger.Field("taskID", taskInfo.ID), logger.Field("payload", string(payload)))
|
||||||
}
|
}
|
||||||
// Create a queue task
|
|
||||||
task := asynq.NewTask(queue.ForthwithGetCountry, payload)
|
|
||||||
// Enqueue the task
|
|
||||||
taskInfo, err := l.svcCtx.Queue.Enqueue(task)
|
|
||||||
if err != nil {
|
|
||||||
l.Errorw("[GetNodeCountry]: Enqueue Error", logger.Field("error", err.Error()), logger.Field("payload", string(payload)))
|
|
||||||
return errors.Wrap(xerr.NewErrCode(xerr.ERROR), "Failed to enqueue task")
|
|
||||||
}
|
|
||||||
l.Infow("[GetNodeCountry]: Enqueue Success", logger.Field("taskID", taskInfo.ID), logger.Field("payload", string(payload)))
|
|
||||||
l.svcCtx.DeviceManager.Broadcast(device.SubscribeUpdate)
|
l.svcCtx.DeviceManager.Broadcast(device.SubscribeUpdate)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user