1
0
mirror of https://github.com/newnius/YAO-scheduler.git synced 2025-12-16 08:26:44 +00:00
This commit is contained in:
2019-07-30 15:35:29 +08:00
parent 4a060d1e51
commit 463b04d9d0
4 changed files with 13 additions and 10 deletions

View File

@@ -11,7 +11,7 @@ var groupManagerInstance *GroupManager
var groupManagerInstanceLock sync.Mutex
func InstanceOfGroupManager() *GroupManager {
defer groupManagerInstanceLock.Lock()
defer groupManagerInstanceLock.Unlock()
groupManagerInstanceLock.Lock()
if groupManagerInstance == nil {
@@ -22,40 +22,40 @@ func InstanceOfGroupManager() *GroupManager {
func (gm *GroupManager) Add(group Group) MsgGroupCreate {
defer gm.mu.Unlock()
gm.mu.Lock()
if _, ok := gm.groups[group.Name]; ok {
return MsgGroupCreate{Code: 1, Error: "Name already exists!"}
}
gm.groups[group.Name] = group
gm.mu.Lock()
return MsgGroupCreate{}
}
func (gm *GroupManager) Update(group Group) MsgGroupCreate {
defer gm.mu.Unlock()
gm.mu.Lock()
if _, ok := gm.groups[group.Name]; !ok {
return MsgGroupCreate{Code: 1, Error: "Group not exists!"}
}
gm.groups[group.Name] = group
gm.mu.Lock()
return MsgGroupCreate{}
}
func (gm *GroupManager) Remove(group Group) MsgGroupCreate {
defer gm.mu.Unlock()
gm.mu.Lock()
if _, ok := gm.groups[group.Name]; !ok {
return MsgGroupCreate{Code: 1, Error: "Group not exists!"}
}
delete(gm.groups, group.Name)
gm.mu.Lock()
return MsgGroupCreate{}
}
func (gm *GroupManager) List() MsgGroupList {
defer gm.mu.Unlock()
gm.mu.Lock()
var result []Group
for _, v := range gm.groups {
result = append(result, v)
}
gm.mu.Lock()
return MsgGroupList{Groups: result}
}