33 lines
1.0 KiB
Go
33 lines
1.0 KiB
Go
// services 包提供了服务层的封装,主要负责协调分布锁和任务管理器之间的交互。
|
||
|
||
package services
|
||
|
||
import (
|
||
"gitlink.org.cn/cloudream/common/pkgs/distlock" // 导入分布锁服务包
|
||
"gitlink.org.cn/cloudream/storage/client/internal/task" // 导入任务管理服务包
|
||
)
|
||
|
||
// Service 结构体封装了分布锁服务和任务管理服务。
|
||
type Service struct {
|
||
DistLock *distlock.Service // DistLock 用于分布式环境下的锁服务
|
||
TaskMgr *task.Manager // TaskMgr 用于任务的创建、管理和执行
|
||
}
|
||
|
||
// NewService 创建一个新的Service实例。
|
||
//
|
||
// 参数:
|
||
//
|
||
// distlock *distlock.Service: 分布式锁服务的实例。
|
||
// taskMgr *task.Manager: 任务管理器的实例。
|
||
//
|
||
// 返回值:
|
||
//
|
||
// *Service: 初始化后的Service实例。
|
||
// error: 如果创建过程中遇到错误,则返回错误信息,否则为nil。
|
||
func NewService(distlock *distlock.Service, taskMgr *task.Manager) (*Service, error) {
|
||
return &Service{
|
||
DistLock: distlock,
|
||
TaskMgr: taskMgr,
|
||
}, nil
|
||
}
|