From cc23fc5709e2d30f86c13c4ac9c1a5e50f1405f0 Mon Sep 17 00:00:00 2001 From: Sydonian <794346190@qq.com> Date: Wed, 24 May 2023 17:20:15 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=B0=83=E8=AF=95=E5=8F=91?= =?UTF-8?q?=E7=8E=B0=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/services/object.go | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/internal/services/object.go b/internal/services/object.go index b5a3a74..61fb02f 100644 --- a/internal/services/object.go +++ b/internal/services/object.go @@ -184,7 +184,12 @@ func (svc *Service) CreateRepObject(msg *coormsg.CreateRepObject) *coormsg.Creat } // 紧急任务 - svc.scanner.PostEvent(scmsg.NewPostEventBody(scevt.NewCheckRepCount([]string{msg.Body.FileHash}), true, true)) + evtmsg, err := scmsg.NewPostEventBody(scevt.NewCheckRepCount([]string{msg.Body.FileHash}), true, true) + if err == nil { + svc.scanner.PostEvent(evtmsg) + } else { + logger.Warnf("new post event body failed, but this will not affect creating, err: %s", err.Error()) + } return ramsg.ReplyOK(coormsg.NewCreateObjectRespBody()) } @@ -256,11 +261,15 @@ func (svc *Service) UpdateRepObject(msg *coormsg.UpdateRepObject) *coormsg.Updat log.WithField("ObjectID", msg.Body.ObjectID). Warnf("update rep object failed, err: %s", err.Error()) return ramsg.ReplyFailed[coormsg.UpdateRepObjectResp](errorcode.OPERATION_FAILED, "update rep object failed") - } // 紧急任务 - svc.scanner.PostEvent(scmsg.NewPostEventBody(scevt.NewCheckRepCount([]string{msg.Body.FileHash}), true, true)) + evtmsg, err := scmsg.NewPostEventBody(scevt.NewCheckRepCount([]string{msg.Body.FileHash}), true, true) + if err == nil { + svc.scanner.PostEvent(evtmsg) + } else { + logger.Warnf("new post event body failed, but this will not affect updating, err: %s", err.Error()) + } return ramsg.ReplyOK(coormsg.NewUpdateRepObjectRespBody()) } @@ -284,11 +293,22 @@ func (svc *Service) DeleteObject(msg *coormsg.DeleteObject) *coormsg.DeleteObjec // 不追求及时、准确 if len(stgs) == 0 { // 如果没有被引用,直接投递CheckObject的任务 - svc.scanner.PostEvent(scmsg.NewPostEventBody(scevt.NewCheckObject([]int{msg.Body.ObjectID}), false, false)) + evtmsg, err := scmsg.NewPostEventBody(scevt.NewCheckObject([]int{msg.Body.ObjectID}), false, false) + if err == nil { + svc.scanner.PostEvent(evtmsg) + } else { + logger.Warnf("new post event body failed, but this will not affect deleting, err: %s", err.Error()) + } + } else { // 有引用则让Agent去检查StorageObject for _, stg := range stgs { - svc.scanner.PostEvent(scmsg.NewPostEventBody(scevt.NewAgentCheckStorage(stg.StorageID, []int{msg.Body.ObjectID}), false, false)) + evtmsg, err := scmsg.NewPostEventBody(scevt.NewAgentCheckStorage(stg.StorageID, []int{msg.Body.ObjectID}), false, false) + if err == nil { + svc.scanner.PostEvent(evtmsg) + } else { + logger.Warnf("new post event body failed, but this will not affect deleting, err: %s", err.Error()) + } } }