mirror of
https://github.com/crawlab-team/crawlab.git
synced 2026-01-26 17:49:15 +01:00
加入权限管理
This commit is contained in:
122
backend/services/clean.go
Normal file
122
backend/services/clean.go
Normal file
@@ -0,0 +1,122 @@
|
||||
package services
|
||||
|
||||
import (
|
||||
"crawlab/constants"
|
||||
"crawlab/model"
|
||||
"github.com/apex/log"
|
||||
"github.com/globalsign/mgo/bson"
|
||||
"runtime/debug"
|
||||
)
|
||||
|
||||
func InitTaskCleanUserIds() {
|
||||
adminUser, err := GetAdminUser()
|
||||
if err != nil {
|
||||
log.Errorf(err.Error())
|
||||
debug.PrintStack()
|
||||
return
|
||||
}
|
||||
tasks, err := model.GetTaskList(nil, 0, constants.Infinite, "+_id")
|
||||
if err != nil {
|
||||
log.Errorf(err.Error())
|
||||
debug.PrintStack()
|
||||
return
|
||||
}
|
||||
for _, t := range tasks {
|
||||
if !t.ScheduleId.Valid() {
|
||||
t.ScheduleId = bson.ObjectIdHex(constants.ObjectIdNull)
|
||||
if err := t.Save(); err != nil {
|
||||
log.Errorf(err.Error())
|
||||
debug.PrintStack()
|
||||
continue
|
||||
}
|
||||
}
|
||||
|
||||
if !t.UserId.Valid() {
|
||||
t.UserId = adminUser.Id
|
||||
if err := t.Save(); err != nil {
|
||||
log.Errorf(err.Error())
|
||||
debug.PrintStack()
|
||||
continue
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func InitProjectCleanUserIds() {
|
||||
adminUser, err := GetAdminUser()
|
||||
if err != nil {
|
||||
log.Errorf(err.Error())
|
||||
debug.PrintStack()
|
||||
return
|
||||
}
|
||||
projects, err := model.GetProjectList(nil, "+_id")
|
||||
if err != nil {
|
||||
log.Errorf(err.Error())
|
||||
debug.PrintStack()
|
||||
return
|
||||
}
|
||||
for _, p := range projects {
|
||||
if !p.UserId.Valid() {
|
||||
p.UserId = adminUser.Id
|
||||
if err := p.Save(); err != nil {
|
||||
log.Errorf(err.Error())
|
||||
debug.PrintStack()
|
||||
continue
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func InitSpiderCleanUserIds() {
|
||||
adminUser, err := GetAdminUser()
|
||||
if err != nil {
|
||||
log.Errorf(err.Error())
|
||||
debug.PrintStack()
|
||||
return
|
||||
}
|
||||
spiders, _ := model.GetSpiderAllList(nil)
|
||||
for _, s := range spiders {
|
||||
if !s.UserId.Valid() {
|
||||
s.UserId = adminUser.Id
|
||||
if err := s.Save(); err != nil {
|
||||
log.Errorf(err.Error())
|
||||
debug.PrintStack()
|
||||
continue
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func InitScheduleCleanUserIds() {
|
||||
adminUser, err := GetAdminUser()
|
||||
if err != nil {
|
||||
log.Errorf(err.Error())
|
||||
debug.PrintStack()
|
||||
return
|
||||
}
|
||||
schedules, _ := model.GetScheduleList(nil)
|
||||
for _, s := range schedules {
|
||||
if !s.UserId.Valid() {
|
||||
s.UserId = adminUser.Id
|
||||
if err := s.Save(); err != nil {
|
||||
log.Errorf(err.Error())
|
||||
debug.PrintStack()
|
||||
continue
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func InitCleanService() error {
|
||||
if model.IsMaster() {
|
||||
// 清理任务UserIds
|
||||
InitTaskCleanUserIds()
|
||||
// 清理项目UserIds
|
||||
InitProjectCleanUserIds()
|
||||
// 清理爬虫UserIds
|
||||
InitSpiderCleanUserIds()
|
||||
// 清理定时任务UserIds
|
||||
InitScheduleCleanUserIds()
|
||||
}
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user