You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

cache.go 1.0 kB

2 years ago
1234567891011121314151617181920212223242526272829
  1. package services
  2. import (
  3. "gitlink.org.cn/cloudream/common/consts/errorcode"
  4. "gitlink.org.cn/cloudream/common/pkgs/logger"
  5. "gitlink.org.cn/cloudream/common/pkgs/mq"
  6. coormq "gitlink.org.cn/cloudream/storage/common/pkgs/mq/coordinator"
  7. )
  8. func (svc *Service) CachePackageMoved(msg *coormq.CachePackageMoved) (*coormq.CachePackageMovedResp, *mq.CodeMessage) {
  9. pkg, err := svc.db.Package().GetByID(svc.db.SQLCtx(), msg.PackageID)
  10. if err != nil {
  11. logger.WithField("PackageID", msg.PackageID).
  12. Warnf("getting package: %s", err.Error())
  13. return nil, mq.Failed(errorcode.OperationFailed, "get package failed")
  14. }
  15. if pkg.Redundancy.IsRepInfo() {
  16. // TODO 优先级
  17. if err := svc.db.Cache().BatchCreatePinned(svc.db.SQLCtx(), msg.FileHashes, msg.NodeID, 0); err != nil {
  18. logger.Warnf("batch creating pinned cache: %s", err.Error())
  19. return nil, mq.Failed(errorcode.OperationFailed, "batch create pinned cache failed")
  20. }
  21. }
  22. // TODO EC的逻辑
  23. return mq.ReplyOK(coormq.NewCachePackageMovedResp())
  24. }

本项目旨在将云际存储公共基础设施化,使个人及企业可低门槛使用高效的云际存储服务(安装开箱即用云际存储客户端即可,无需关注其他组件的部署),同时支持用户灵活便捷定制云际存储的功能细节。