mirror of
https://github.com/crawlab-team/crawlab.git
synced 2026-01-22 17:31:03 +01:00
123 lines
2.3 KiB
Go
123 lines
2.3 KiB
Go
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
|
|
}
|