feat: 调度任务添加>网元配置文件定期备份
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
package monitorsysresource
|
package monitor_sys_resource
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
|||||||
@@ -0,0 +1,61 @@
|
|||||||
|
package ne_config_backup
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"path/filepath"
|
||||||
|
|
||||||
|
"be.ems/src/framework/cron"
|
||||||
|
"be.ems/src/framework/logger"
|
||||||
|
neModel "be.ems/src/modules/network_element/model"
|
||||||
|
neService "be.ems/src/modules/network_element/service"
|
||||||
|
)
|
||||||
|
|
||||||
|
var NewProcessor = &NeConfigBackupProcessor{
|
||||||
|
neConfigBackupService: neService.NewNeConfigBackupImpl,
|
||||||
|
neInfoService: neService.NewNeInfoImpl,
|
||||||
|
count: 0,
|
||||||
|
}
|
||||||
|
|
||||||
|
// NeConfigBackupProcessor 网元配置文件定期备份
|
||||||
|
type NeConfigBackupProcessor struct {
|
||||||
|
// 网元配置文件备份记录服务
|
||||||
|
neConfigBackupService neService.INeConfigBackup
|
||||||
|
// 网元信息服务
|
||||||
|
neInfoService neService.INeInfo
|
||||||
|
// 执行次数
|
||||||
|
count int
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *NeConfigBackupProcessor) Execute(data any) (any, error) {
|
||||||
|
s.count++ // 执行次数加一
|
||||||
|
options := data.(cron.JobData)
|
||||||
|
sysJob := options.SysJob
|
||||||
|
logger.Infof("重复 %v 任务ID %s", options.Repeat, sysJob.JobID)
|
||||||
|
// 返回结果,用于记录执行结果
|
||||||
|
result := map[string]any{
|
||||||
|
"count": s.count,
|
||||||
|
}
|
||||||
|
|
||||||
|
neList := s.neInfoService.SelectList(neModel.NeInfo{}, false, false)
|
||||||
|
for _, neInfo := range neList {
|
||||||
|
neTypeAndId := fmt.Sprintf("%s_%s", neInfo.NeType, neInfo.NeId)
|
||||||
|
// 将网元文件备份到本地
|
||||||
|
zipFilePath, err := s.neConfigBackupService.NeConfigNeToLocal(neInfo)
|
||||||
|
if err != nil {
|
||||||
|
result[neTypeAndId] = err.Error()
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
// 新增备份记录
|
||||||
|
item := neModel.NeConfigBackup{
|
||||||
|
NeType: neInfo.NeType,
|
||||||
|
NeId: neInfo.NeId,
|
||||||
|
Name: filepath.Base(zipFilePath),
|
||||||
|
Path: zipFilePath,
|
||||||
|
CreateBy: "system",
|
||||||
|
}
|
||||||
|
s.neConfigBackupService.Insert(item)
|
||||||
|
result[neTypeAndId] = "ok"
|
||||||
|
}
|
||||||
|
|
||||||
|
return result, nil
|
||||||
|
}
|
||||||
@@ -7,13 +7,16 @@ import (
|
|||||||
"be.ems/src/modules/crontask/processor/deleteExpiredRecord"
|
"be.ems/src/modules/crontask/processor/deleteExpiredRecord"
|
||||||
"be.ems/src/modules/crontask/processor/genNeStateAlarm"
|
"be.ems/src/modules/crontask/processor/genNeStateAlarm"
|
||||||
"be.ems/src/modules/crontask/processor/getStateFromNE"
|
"be.ems/src/modules/crontask/processor/getStateFromNE"
|
||||||
monitorsysresource "be.ems/src/modules/crontask/processor/monitor_sys_resource"
|
processorMonitorSysResource "be.ems/src/modules/crontask/processor/monitor_sys_resource"
|
||||||
|
processorNeConfigBackup "be.ems/src/modules/crontask/processor/ne_config_backup"
|
||||||
)
|
)
|
||||||
|
|
||||||
// InitCronQueue 初始定时任务队列
|
// InitCronQueue 初始定时任务队列
|
||||||
func InitCronQueue() {
|
func InitCronQueue() {
|
||||||
// 监控-系统资源
|
// 监控-系统资源
|
||||||
cron.CreateQueue("monitor_sys_resource", monitorsysresource.NewProcessor)
|
cron.CreateQueue("monitor_sys_resource", processorMonitorSysResource.NewProcessor)
|
||||||
|
// 网元-网元配置文件定期备份
|
||||||
|
cron.CreateQueue("ne_config_backup", processorNeConfigBackup.NewProcessor)
|
||||||
// delete expired NE backup file
|
// delete expired NE backup file
|
||||||
cron.CreateQueue("delExpiredNeBackup", delExpiredNeBackup.NewProcessor)
|
cron.CreateQueue("delExpiredNeBackup", delExpiredNeBackup.NewProcessor)
|
||||||
cron.CreateQueue("deleteExpiredRecord", deleteExpiredRecord.NewProcessor)
|
cron.CreateQueue("deleteExpiredRecord", deleteExpiredRecord.NewProcessor)
|
||||||
|
|||||||
Reference in New Issue
Block a user